【问题标题】:JiBx Maven build issuesJiBx Maven 构建问题
【发布时间】:2011-08-27 12:56:07
【问题描述】:

我有一个 pom.xml,我用它来从模式生成源代码并绑定和编译。

<!--  <plugin>
            <groupId>org.jibx</groupId>
            <artifactId>maven-jibx-plugin</artifactId>
            <version>1.2.1.1</version>
            <configuration>
            <directory>src/main/resources/schema</directory>
            </configuration>
            <executions>
            <execution>
            <goals>
            <goal>schema-codegen</goal>
            </goals>
            </execution>
            </executions>
            </plugin> -->
             <plugin>
            <groupId>org.jibx</groupId>
            <artifactId>maven-jibx-plugin</artifactId>
            <version>1.2.1.1</version>
            <configuration>
                <targetDirectory></targetDirectory>
                <directory>src/main/resources/jibx</directory>
                <includes>
                    <includes>*binding.xml</includes>
                </includes>
                <excludes>
                    <exclude>template-binding.xml</exclude>
                </excludes>
                <verbose>false</verbose>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>bind</goal>
                    </goals>
                </execution>
                <execution>
                    <id>compile-binding</id>
                </execution>

            </executions>
        </plugin> 

所以当我尝试生成 .java 和 binding.xml 时,我取消注释第一部分并注释底部。这会生成 .java 和 binding.xml。 现在,我将 binding.xml 复制到 src/main/resources/jibx 并将 java 类复制到 com.models.response package。然后我通过取消注释这些行并注释顶部来运行绑定和编译绑定目标。我可以在 'target.com.models.response' 包中看到 JiBX_bindingFactory.class 和 'JiBX_bindingResponse_access.class'。

问题是当我运行一个测试类并尝试将响应输入流解组为“Response.class”时,我得到Exception in thread "main" org.jibx.runtime.JiBXException: JiBx Exception: Unable to access binding information for class com.models.response.Response Make sure the binding has been compiled 错误。

请注意:我在 Eclipse 中执行所有这些操作,默认输出文件夹显示“/build”。我也尝试将 Jibx 类复制粘贴到“build”文件夹中。仍然面临同样的问题。

请帮忙!!!!!!

谢谢

【问题讨论】:

    标签: build maven compilation jibx


    【解决方案1】:

    两件事。

    注释和取消注释 pom 部分并不是进行开发的理想方式。看起来您没有将这些目标绑定到相关的 Maven 生命周期阶段。例如schema-codegenprocess-resources

    正如 maven jibx 插件 documentation 指定的那样,您需要根据测试运行以下目标。

    jibx:test-bind Runs the JiBX binding compiler on the test classes.
    jibx:test-schema-codegen Generates Java test sources from XSD schemas.
    

    【讨论】:

    • 现在已修复。在 Eclipse 中,我与 POM.xml 输出文件夹的输出类具有相同的文件夹并自动构建。所以每次生成 JibX 绑定类时,eclipse 都会用 java-class 文件替换它。
    • @narayanan 对此有什么解决办法?您是否刚刚更改了 JIBX 绑定输出的目标目录?
    猜你喜欢
    • 1970-01-01
    • 2010-09-27
    • 2015-08-11
    • 1970-01-01
    • 2019-03-30
    • 2014-08-10
    • 1970-01-01
    • 2013-10-25
    • 2022-11-11
    相关资源
    最近更新 更多