在同一个文件夹jaxb2-maven-plugin 2.3中生成bean和META-INF

问题描述 投票:0回答:1

我正在使用

jaxb2-maven-plugin
版本 2.3 来生成 jaxb java beans。

  • 它运行良好,并按照
    src/main/java/x/y/z
    下的预期生成bean。
  • META-INF/sun-jaxb.episode
    下创建了
    src/main/java
    文件。

重点是我希望能够在同一目录中生成bean和

META-INF/
文件夹,例如src/main/java/x/y/z。否则至少不会在
META-INF/
下生成
src/main/java
文件夹。
那可能吗 ?如果我不设置
<packageName>
,则默认包(在 .xsd 文件中定义)将应用于生成的 bean。
这是我当前在
pom.xml
文件中的配置:

<build>
    <plugins>
        <plugin>
             <groupId>org.codehaus.mojo</groupId>
             <artifactId>jaxb2-maven-plugin</artifactId>
             <version>2.3</version>
             <executions>
                 <execution>
                 <id>schema-x</id>
                 <goals>
                     <goal>xjc</goal>
                 </goals>
                 <configuration>
                     <xjbSources>
                         <xjbSource>src/main/resources/path/to/file.xjb</xjbSource>
                     </xjbSources>
                     <sources>
                         <source>src/main/resources/path/to/file.xsd</source>
                     </sources>
                     <packageName>x.y.z</packageName>
                     <outputDirectory>${basedir}/src/main/java</outputDirectory>
                     <clearOutputDir>false</clearOutputDir>
                </configuration>
            </execution>
        </plugin>
    </plugins>
</build>
java maven pom.xml maven-jaxb2-plugin
1个回答
0
投票

这适用于 jaxb2-maven-plugin,也适用于生成 java 源的任何插件:您应该在构建目录中生成输出。

如果没有并在像这里这样的

src
文件夹中生成,那么您将必须提交/推送生成的文件并拥有不稳定的构建。

插件的文档介绍了

outputDirectory

对应XJC参数:d。

创建生成的 Java 源文件的工作目录。

类型:java.io.File 必填:是 默认值:${project.build.directory}/ generated-sources/jaxb

然后,maven 编译器和 IDE 就能够获取此目录(或按照约定生成源中的任何子目录),并且您将能够在自己的代码中使用生成的源代码

© www.soinside.com 2019 - 2024. All rights reserved.