在Java 8中找不到AnnotationProcessorFactory类

时间:2014-06-16 11:38:18

标签: java web-services wsdl

我有一个基于 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

任何人都可以告诉我,问题出在哪里并从中提升?

谢谢!!!

1 个答案:

答案 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功能。