从1.3.7迁移到2.5.6 java.lang.ClassNotFoundException:org.codehaus.groovy.grails.project.compiler.GrailsProjectCompiler我们如何解决这个问题? 尝试使用目标grails构建项目:clean grails:war -Dmaven.skip.test = true Grails版本:2.5.6 Java版本1.7
答案 0 :(得分:0)
如评论所述,您将有一段很长的路要走。
此特定错误可能是因为您缺少Grails所需的新依赖关系。如果您有一个Maven项目,而我想在遇到这个问题时就拥有了这个项目,那么这就是您需要的:
<dependency>
<groupId>org.grails</groupId>
<artifactId>grails-dependencies</artifactId>
<version>${grails.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.grails</groupId>
<artifactId>grails-test</artifactId>
<version>${grails.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.grails</groupId>
<artifactId>grails-plugin-testing</artifactId>
<version>${grails.version}</version>
<scope>test</scope>
</dependency>
您还必须将所有旧的依赖项删除到1.3 grails核心。在1.3版本中,如果我记错了的话,会产生一系列依赖关系。
如果它不是Maven项目,则应通过在BuildConfig.groovy中指定inerits("global")
来免费获得它:
grails.project.dependency.resolution = {
// inherit Grails' default dependencies
inherits("global") {
// specify dependency exclusions here; for example, uncomment this to
}
...
也就是说,这不是升级时遇到的最后一个问题。我已经成功地完成了一些小型项目的升级,但是付出了很多努力。对于较大的项目,我会认真考虑是否值得。
如果您决定执行此操作,最好的建议是生成一个新的空2.5.6项目,并将设置和依赖项与旧项目进行比较。