我有一个项目是建立在java 1.6 and
现在我将java版本升级到1.8 and构建项目
这里我使用 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
谁能告诉我问题出在哪里以及从哪里提出?
谢谢你!!!
感谢@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 功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)