我有一个基于 java 1.6 和
构建的项目现在我将java版本升级为 1.8并构建项目
这里我使用gradle来构建项目 这是gradle代码
task wsgen(dependsOn: compileJava) {
doLast{
ant {
taskdef(name:'wsgen',
classname:'com.sun.tools.ws.ant.WsGen',
classpath:configurations.jaxws.asPath)
wsgen(keep:true,
destdir: "${buildDir}",
resourcedestdir:"${sourceSets.main.output.resourcesDir}",
sourcedestdir:'src/main/java',
genwsdl:'true',
classpath:"${configurations.compile.asPath}:${sourceSets.main.output.classesDir}",
sei:'<sei implementation class>')
}
}
}
和错误,我得到的是
java.lang.NoClassDefFoundError:com / sun / mirror / apt / AnnotationProcessorFactory
任何人都可以告诉我,问题出在哪里并从中提升?
谢谢!!!
答案 0 :(得分:-2)
感谢@McDowell提供链接的有用评论。所以APT工具已经不见了。使用版本7 JDK来构建项目。只需将它与java 8 JDK一起安装,并创建一个专门用于构建需要APT工具的项目的脚本。
我遇到了同样的问题,并使用1.7版本的JDK运行maven。所以我创建了一个脚本(Windows平台上的.cmd),对我来说,看起来像这样:
set JAVA_HOME="c:\Java\ibm-jdk-1.7.0"
set PATH=%JAVA_HOME%\bin;%PATH%
mvn clean install eclipse:eclipse
这将使用IBM版本的java 7 jdk成功构建,我碰巧在我的java文件夹中。我讨厌我无法使用1.8 jdk版本构建我的项目,但至少我可以在其他项目中使用java 8功能。