0
我使用Spark Framework開始了一個小項目,我選擇了ActiveJDBC作爲它的ORM,它使用Gradle來構建所有的東西。IntrumentModels的任務:模型類被凍結
(更新時,它是使用ActiveJDBC 1.4.12)
這裏是我的build.gradle
文件:
buildscript {
repositories {
mavenCentral()
maven { url 'http://repo.javalite.io' }
}
dependencies {
classpath group: 'org.javalite', name: 'activejdbc-gradle-plugin', version: '1.4.13-SNAPSHOT'
}
}
apply plugin: 'java'
apply plugin: 'org.javalite.activejdbc'
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.20'
compile group: 'com.sparkjava', name: 'spark-core', version: '2.5'
compile group: 'junit', name: 'junit', version: '4.12'
compile group: 'org.postgresql', name: 'postgresql', version: '9.4.1211.jre7'
compile group: 'org.javalite', name: 'activejdbc', version: '1.4.13-SNAPSHOT'
compile group: 'org.javalite', name: 'activejdbc-instrumentation', version: '1.4.13-SNAPSHOT'
}
task runApp(dependsOn: 'build', type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = "my.app.Application"
}
我有一個簡單的模型來訪問所有酷型號的方法:
public class User extends Model {}
當我嘗試構建項目時,問題就會出現:
Execution failed for task ':instrumentModels'.
> org.javalite.instrumentation.InstrumentationException: java.lang.RuntimeException: my.app.model.User class is frozen
* Exception is:
...
java.lang.RuntimeException: org.javalite.instrumentation.InstrumentationException: java.lang.RuntimeException:my.app.model.User class is frozen
at org.javalite.instrumentation.Instrumentation.instrument(Instrumentation.java:70)
at org.javalite.instrumentation.Instrumentation$instrument.call(Unknown Source)
at org.javalite.instrumentation.gradle.ActiveJDBCInstrumentation.instrument(ActiveJDBCInstrumentation.groovy:30)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.doExecute(DefaultTaskClassInfoStore.java:136)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:129)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:118)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:623)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:606)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 68 more
Caused by: org.javalite.instrumentation.InstrumentationException: java.lang.RuntimeException: my.app.model.User class is frozen
at org.javalite.instrumentation.ModelInstrumentation.instrument(ModelInstrumentation.java:43)
at org.javalite.instrumentation.Instrumentation.instrument(Instrumentation.java:57)
... 78 more
Caused by: java.lang.RuntimeException: my.app.model.User class is frozen
at javassist.CtClassType.checkModify(CtClassType.java:288)
at javassist.CtBehavior.setBody(CtBehavior.java:432)
at javassist.CtBehavior.setBody(CtBehavior.java:412)
at org.javalite.instrumentation.ModelInstrumentation.doInstrument(ModelInstrumentation.java:53)
at org.javalite.instrumentation.ModelInstrumentation.instrument(ModelInstrumentation.java:40)
... 79 more
你有沒有試過我的建議? – ipolevoy
我找不到activejdbc核心的Maven的最新版本......只有activejdbc-gradle-plugin沒問題。 如何將該回購添加到我的gradle.build中? – Aleff
奇怪!由於在Gradle插件中定義了依賴關係,因此該修補程序可能並未進入發行版。請從這裏使用1.4.13-SNAPSHOT版本:http://repo.javalite.io/。請確保ActiveJDBC的libgrary,插件插件和Gradle插件都在同一個版本上。 – ipolevoy