Возможно ли заставить maven-jaxb-schemagen-plugin работать с Java 7? - PullRequest
7 голосов
/ 13 декабря 2011

Когда я пытаюсь использовать maven-jaxb-schemagen-plugin с Java 7

<groupId>com.sun.tools.jxc.maven2</groupId>
<artifactId>maven-jaxb-schemagen-plugin</artifactId>
<version>1.2</version>

, я получаю сообщение об ошибке:

[ERROR] Failed to execute goal com.sun.tools.jxc.maven2:maven-jaxb-schemagen-plugin:1.2:generate (default) on project TopologyProvisionerDom: Execution default of goal com.sun.tools.jxc.maven2:maven-jaxb-schemagen-plugin:1.2:generate failed: A required class was missing while executing com.sun.tools.jxc.maven2:maven-jaxb-schemagen-plugin:1.2:generate: com/sun/mirror/apt/AnnotationProcessorFactory

Похоже, что AnnotationProcessorFactory удаляется или устарела вJava 7?Можно ли заставить Jaxb Schemagen работать с помощью этого плагина?Существует ли альтернативный подход для получения схемы из исходного кода JAXB при использовании JDK 7?

Ответы [ 3 ]

9 голосов
/ 13 декабря 2011

Вы пытались использовать org.codehaus.mojo:jaxb2-maven-plugin вместо?

7 голосов
/ 02 августа 2012

Вот как это работает (добавьте этот профиль в свой pom.xml):

<profile>
    <id>jdk7-fix</id>
    <activation>
        <file><exists>${java.home}/../lib/tools.jar</exists></file>
    </activation>
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.sun.tools.jxc.maven2</groupId>
                    <artifactId>maven-jaxb-schemagen-plugin</artifactId>
                    <dependencies>
                        <dependency>
                            <groupId>com.sun</groupId>
                            <artifactId>tools</artifactId>
                            <version>1.7</version>
                            <scope>system</scope>
                            <systemPath>${java.home}/../lib/tools.jar</systemPath>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</profile>
0 голосов
/ 24 сентября 2015

Не уверен, что кто-нибудь слушает эту тему, но что за хей ...

Я использовал опцию transformSchemas, например,

<transformSchemas>
    <transformSchema>
        <uri>YOUR NS IN YOUR GENERATED SCHEMA FILE</uri>
        <toFile>DESIRED NAME OF YOUR XSD FILE</toFile>
    </transformSchema>
</transformSchemas>

ура

-т.

...