k1e*_*ran 7 java apt annotations enunciate maven
问题是如何让java 1.8和maven-enunciate-plugin一起工作?
使用maven插件org.codehaus.enunciate version 1.29和OSX JDK 1.7.0_25一切都很好.Enunciate取决于apt,我看到此运行时警告 1.7.0_25
[INFO]调用enunciate:generate step ...
警告:计划在下一个主要JDK版本中删除apt工具及其关联的API.这些功能已被javac和标准化的注释处理API javax.annotation.processing和javax.lang.model取代.建议用户迁移到javac的注释处理功能; 有关更多信息,请参阅javac手册页.
更改1.8.0_05构建失败时...
apt确实没了,因此com.sun.mirror.apt.AnnotationProcessorFactory没有找到运行时错误.
mvn install -pl myProject -e -X
...
<snip>
urls[46] = file:/Users/k1/.m2/repository/org/codehaus/enunciate/enunciate-xml/1.29/enunciate-xml-1.29.jar
urls[47] = file:/Users/k1/.m2/repository/org/codehaus/enunciate/enunciate-java-client/1.29/enunciate-java-client-1.29.jar
urls[48] = file:/Users/k1/.m2/repository/org/codehaus/enunciate/enunciate-c/1.29/enunciate-c-1.29.jar
urls[49] = file:/Users/k1/.m2/repository/org/codehaus/enunciate/enunciate-obj-c/1.29/enunciate-obj-c-1.29.jar
urls[50] = file:/Users/k1/.m2/repository/org/codehaus/enunciate/enunciate-csharp/1.29/enunciate-csharp-1.29.jar
urls[51] = file:/Users/k1/.m2/repository/org/codehaus/enunciate/enunciate-ruby/1.29/enunciate-ruby-1.29.jar
urls[52] = file:/Users/k1/.m2/repository/org/codehaus/enunciate/enunciate-php/1.29/enunciate-php-1.29.jar
Number of foreign imports: 1
import: Entry[import from realm ClassRealm[maven.api, parent: null]]
-----------------------------------------------------
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:165)
... 20 more
Caused by: java.lang.NoClassDefFoundError: com/sun/mirror/apt/AnnotationProcessorFactory
at org.codehaus.enunciate.DocsMojo.loadMavenSpecificEnunciate(DocsMojo.java:107)
at org.codehaus.enunciate.ConfigMojo.execute(ConfigMojo.java:326)
at org.codehaus.enunciate.DocsMojo.execute(DocsMojo.java:81)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
... 20 more
Caused by: java.lang.ClassNotFoundException: com.sun.mirror.apt.AnnotationProcessorFactory
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:259)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:235)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:227)
... 24 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException
Run Code Online (Sandbox Code Playgroud)
编辑2015年7月:这个原始问题和这个答案是在Enunciate 1.x是最新版本时编写的.虽然1.x仍然不支持java 1.8,如下面的评论所述,2.0 M-1,现在对java 1.8的支持有限,即生成的文档但不支持API模块.
正如@bmargulies所推荐的那样,我查看了JIRA页面(我想我应该在第一时间完成!)释义JIRA ENUNCIATE-701
"还没有关于Enunciate/JDK8兼容性的时间表."
Enunciate已移至Github; 问题是#68
| 归档时间: |
|
| 查看次数: |
6261 次 |
| 最近记录: |