Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将XJB与jaxb2 maven插件一起使用_Maven_Jaxb2_Xjc_Jaxb2 Maven Plugin_Xjb - Fatal编程技术网

将XJB与jaxb2 maven插件一起使用

将XJB与jaxb2 maven插件一起使用,maven,jaxb2,xjc,jaxb2-maven-plugin,xjb,Maven,Jaxb2,Xjc,Jaxb2 Maven Plugin,Xjb,我有一个多模块maven项目,结构如下: root-module |__module-a | |__src | |__main | |__xsd | | |__my.xsd | |__xjb | |__my.xjb |__module-b 根模块的POM只是聚合模块a和b(除其他外): 有趣的是,它能够正确定

我有一个多模块maven项目,结构如下:

root-module
    |__module-a
    |    |__src
    |        |__main
    |            |__xsd
    |            |    |__my.xsd
    |            |__xjb
    |                 |__my.xjb
    |__module-b
根模块的POM只是聚合模块a和b(除其他外):

有趣的是,它能够正确定位XSD:

[ERROR] Failed to execute goal org.codehaus.mojo:jaxb2-maven-plugin:2.1:xjc (generate-my-classe) on project module-a:
[ERROR] +=================== [XJC Error]
[ERROR] |
[ERROR] | 0: file:/home/root-module/module-a/src/main/xsd/my.xsd
[ERROR] |
[ERROR] +=================== [End XJC Error]
  • 有什么线索吗
  • 这是构建脚本中的配置问题吗
我的构建系统的细节:

Using Maven 3.2.5

<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>2.1</version>
使用Maven 3.2.5
org.codehaus.mojo
.
也搜索了一些相关的问题,但他们没有解释我的具体问题


更新:看起来像一个。保持线程打开,以防出现解决方法。

在插件解析可用之前,我使用以下ant run hack:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
            <execution>
                <id>generate-my-classes</id>
                <phase>generate-sources</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                    <tasks>
                        <mkdir dir="${project.build.directory}/generated-sources/jaxb/my" />
                        <exec executable="${env.JAVA_HOME}/bin/xjc.exe" dir="${project.basedir}/src/main/xsd">
                            <arg value="-p" />
                            <arg value="my.package" />
                            <arg value="-b" />
                            <arg value="${project.basedir}/src/main/xjb" />
                            <arg value="-d" />
                            <arg value="${project.build.directory}/generated-sources/jaxb" />
                            <arg value="." />
                        </exec>
                    </tasks>
                </configuration>
            </execution>
        </executions>
    </plugin>

org.apache.maven.plugins


考虑作为替代。升级到插件的2.2版似乎可行

  <groupId>org.codehaus.mojo</groupId>
  <artifactId>jaxb2-maven-plugin</artifactId>
  <version>2.2</version>
org.codehaus.mojo
jaxb2 maven插件
2.2

我在使用2.1版插件时也遇到了同样的问题。只需更改为2.2版即可解决此问题。

问题仍然存在于2.4版中。Jenking在Linux上的自动构建有什么解决方法吗?
Using Maven 3.2.5

<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>2.1</version>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
            <execution>
                <id>generate-my-classes</id>
                <phase>generate-sources</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                    <tasks>
                        <mkdir dir="${project.build.directory}/generated-sources/jaxb/my" />
                        <exec executable="${env.JAVA_HOME}/bin/xjc.exe" dir="${project.basedir}/src/main/xsd">
                            <arg value="-p" />
                            <arg value="my.package" />
                            <arg value="-b" />
                            <arg value="${project.basedir}/src/main/xjb" />
                            <arg value="-d" />
                            <arg value="${project.build.directory}/generated-sources/jaxb" />
                            <arg value="." />
                        </exec>
                    </tasks>
                </configuration>
            </execution>
        </executions>
    </plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>jaxb2-maven-plugin</artifactId>
  <version>2.2</version>