未生成剧集文件

Episode file not being generated

我正在使用 maven-jaxb2-plugin 构建一个项目

<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>

我设置了剧集参数

<episode>true</episode>

但是我发现没有生成 .episode 文件。我需要这个文件,以便这个项目可以用作另一个依赖项目的剧集。

在 Maven 构建日志中,我确实看到了这些日志,这些日志表明插件不支持 xjc 支持的 episode 和 episodeFile 参数:

[WARNING] Unknown plugin option: -episode
[WARNING] Unknown plugin option: C:\projecdir\src\main\generated-sources\META-INF\sun-jaxb.episode

这是插件中的错误吗?也有任何已知的解决方法。

更新:当useDependenciesAsEpisodes不为false

时会发生一些奇怪的事情

useDependenciesAsEpisodes = true

如果这是真的,它会显示上面的警告。此版本有效,但未生成剧集文件。

useDependenciesAsEpisodes = false

当我将其设置为 false 时,会生成剧集文件。

然而,我为一个破坏构建的插件传递了一些额外的参数。

<args>
    <arg>-typeId=7000</arg>
    ...
</args>

错误:

Caused by: com.sun.tools.xjc.BadCommandLineException: unrecognized parameter -typeId=7000
    at com.sun.tools.xjc.Options.parseArguments(Options.java:817)
    at org.jvnet.mjiip.v_2.OptionsFactory.createOptions(OptionsFactory.java:91)
    ... 24 more

我必须删除额外的参数才能让它工作。但是,我需要一些与 maven-jaxb2-plugin

一起使用的 jaxb 插件(如所示 here)的参数
<configuration>
    <extension>true</extension>
    <args>
        <arg>-XtoString</arg>
        <arg>-Xequals</arg>
        <arg>-XhashCode</arg>
        <arg>-Xcopyable</arg>
    </args>
    <plugins>
        <plugin>
            <groupId>org.jvnet.jaxb2_commons</groupId>
            <artifactId>jaxb2-basics</artifactId>
            <version><!-- version --></version>
        </plugin>
    </plugins>
</configuration>

and 的作者在这里。

每个版本的剧集生成是 tested quite thoroughly,所以我很确定它有效。

useDependenciesAsEpisodes 只是将所有依赖 JAR 添加为 "episode" JAR,这不应该影响剧集生成。

-typeId=7000有点可疑,这个命令是哪个XJC插件处理的?如果 none,这可能会干扰 -episode,所以这是我首先要查看的地方。

真正有帮助的是查看 mvn clean install -e -X 日志。它应该找到最终传递给 XJC 的参数,所以你可以在那里发现违规行为。

如果没有任何帮助,请将一个最小的复制测试项目放在一起,然后 commint/send 我在 https://github.com/highsource/maven-jaxb2-plugin-support ex 中为这个项目提交 PR。在 e/episode-file-not-being-generated.