Maven-enunciate-плагин на java 1.8 как apt теперь удален из последнего JDK (т. е. инструмент обработки аннотаций java)

вопрос в том, как заставить java 1.8 и Maven-enunciate-plugin работать вместе ?

с плагином maven org.codehaus.enunciate version 1.29 и OSX JDK 1.7.0_25 все это хорошо. Произношение зависит от apt и я вижу это предупреждение во время выполнения в 1.7.0_25

[INFO] вызов enunciate:создать шаг...

предупреждение: инструмент apt и связанный с ним API планируется удалить в следующем выпуске JDK. Эти функции были заменены от javac и стандартизированный API обработки аннотаций, класса javax.аннотация.обработка и javax.ленг.модель. Пользователи рекомендуется перейти к функциям обработки аннотаций javac; дополнительную информацию смотрите на странице javac man.

при изменении на 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

1 ответов


изменить июль 2015: Этот оригинальный вопрос и этот ответ были написаны при произнесении 1.Икс был последним. Хотя 1.x по-прежнему не поддерживает java 1.8, как описано в комментариях ниже, 2.0 M-1, теперь имеет ограниченную поддержку java 1.8, т. е. документацию, созданную, но не модули API.

как рекомендовано @bmargulies я посмотрел на страницу JIRA (что, я думаю, я должен был сделать в первую очередь!) Перефразируя JIRA Внятно-701

" нет сроки разработать / совместимость JDK8."

Enunciate переместился в Github; проблема есть #68