如何在 JAXB2 maven 插件版本 2.4 中定义模式目录?

QTh*_*son 5 java plugins pom.xml maven jaxb2-maven-plugin

我正在尝试在 pom.xml 中定义架构的目录。我不断收到错误消息“此处不允许使用元素 schemaDirectory”。我猜这个版本不支持这个元素。那么在这个版本中如何定义我的模式目录呢?

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>jaxb2-maven-plugin</artifactId>
    <version>2.4</version>
    <executions>
        <execution>
            <id>xjc</id>
            <goals>
                <goal>xjc</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <schemaDirectory>${project.basedir}src/main/resources</schemaDirectory>
        <outputDirectory>${project.basedir}src/main/java</outputDirectory>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

提前致谢!

glw*_*glw 9

这对于旧版本有效,例如。1.5:

    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jaxb2-maven-plugin</artifactId>
        <version>1.5</version>
        <executions>
            <execution>
                <id>xjc</id>
                <goals>
                    <goal>xjc</goal>
                </goals>
                <configuration>
                    <schemaDirectory>${project.basedir}src/main/resources</schemaDirectory>
                    <outputDirectory>${project.basedir}src/main/java</outputDirectory>
                </configuration>
            </execution>
        </executions>
    </plugin>
Run Code Online (Sandbox Code Playgroud)

对于版本 2.4,根据文档,不再有schemaDirectory标签https://www.mojohaus.org/jaxb2-maven-plugin/Documentation/v2.4/xjc-mojo.html

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>jaxb2-maven-plugin</artifactId>
    <version>2.4</version>
    <executions>
        <execution>
            <id>xjc</id>
            <goals>
                <goal>xjc</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <outputDirectory>${project.basedir}src/main/java</outputDirectory>
        <sources>
            <source>${project.basedir}src/main/resources</source>
        </sources>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)


小智 5

适用于 2.5.0 版本

            <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxb2-maven-plugin</artifactId>
            <version>2.5.0</version>
            <executions>
                <execution>
                    <id>xjc</id>
                    <goals>
                        <goal>xjc</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <sources>
                    <source>${project.basedir}/src/main/resources/${specify.xsd}</source>
                </sources>
                <outputDirectory>${project.basedir}/src/main/java</outputDirectory>
                <clearOutputDir>false</clearOutputDir>
            </configuration>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

然后运行mvn compile