首页 > 解决方案 > 无法执行目标 org.codehaus.mojo:jaxb2-maven-plugin:1.6:xjc (default-cli)

问题描述

我有一个 XSD 文件,我正在尝试使用 jaxb2-maven 插件为其生成 jaxb 类,问题是我生成了mvn jaxb2:xjc在命令行中运行命令的类。如果我在 Eclipse 的运行配置中运行与目标相同的命令,我会得到

未能执行目标 org.codehaus.mojo:jaxb2-maven-plugin:1.6:xjc (default-cli)

如果我只运行mvn clean package install类不会生成。我究竟做错了什么?

这是我的 pom.xml 部分:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>jaxb2-maven-plugin</artifactId>
    <version>1.6</version>
    <executions>
        <execution>
            <goals>
                <goal>xjc</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
    <schemaDirectory>${project.basedir}/src/main/resources</schemaDirectory>
    <schemaFiles>Trans.xsd</schemaFiles>
    </configuration>
</plugin>

标签: javamavenxjcjaxb2-maven-plugin

解决方案


请在您的配置中添加一个phase元素,如下所示:execution

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>jaxb2-maven-plugin</artifactId>
    <version>1.6</version>
    <executions>
        <execution>
            <goals>
                <goal>xjc</goal>
            </goals>
            <phase>validate</phase>
        </execution>
    </executions>
    <configuration>
    <schemaDirectory>${project.basedir}/src/main/resources</schemaDirectory>
    <schemaFiles>Trans.xsd</schemaFiles>
    </configuration>
</plugin>

通过这样做,您的 Maven 将xjc在验证您的项目时执行目标


推荐阅读