当前位置: 首页 > 知识库问答 >
问题:

具有外部XSD依赖项的jaxb2 maven插件

燕涵容
2023-03-14

我们在自己的Maven项目中使用jaxb2-maven-plugin生成一组通用的XSD(数据类型、词汇表等)。在第二个项目中,我需要在编译时引用其中一个或多个XSD,但不希望它们包含在生成的工件中。我创建了一个曲库文件,除了我在其中获取所有内容外,它运行良好。

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.6</version>
<executions>
    <execution>
        <goals>
            <goal>xjc</goal>
        </goals>
    </execution>
</executions>
<configuration>
    <outputDirectory>${basedir}/src/main/java</outputDirectory>
    <target>2.1</target>
    <catalog>catalog.cat</catalog>
</configuration>

我仔细研究了插件文档,但它们在细节上少得可怜。有没有办法在不需要每个项目都复制它们的情况下重用常见模式?

谢谢

共有1个答案

端木明贤
2023-03-14

这是我的maven-jaxb2-plugin可以做的事情:

从Maven工件编译架构

文档站点目前非常不稳定,因此这里是文档片段。

<configuration>                                                                                         
    <forceRegenerate>true</forceRegenerate>                                                         
    <schemas>                                                                                       
        <schema>
            <dependencyResource>                                                            
                <groupId>org.jvnet.jaxb2.maven2</groupId>                               
                <artifactId>maven-jaxb2-plugin-tests-po</artifactId>                    
                <!-- Can be defined in project dependencies or dependency management -->
                <version>${project.version}</version>                                   
                <resource>purchaseorder.xsd</resource>                                  
            </dependencyResource>                                                           
        </schema>                                                                               
    </schemas>                                                                                      
</configuration>

这是一个示例项目。

 类似资料:
  • 在处理过程中,我想导入一个我用Java编写的库,它环绕一个外部库(一个.jar文件)。 update2:另一个有效的选项是“将所需库提取到生成的JAR中”。这样做允许JAR在内部访问引用。这似乎同样适用于N.L.Telaviv的建议,但情况似乎并非如此。如果不想有任何额外的文件,请选择此选项。如果查看.jar文件,您会注意到外部库位于一个单独的包文件夹中。

  • 问题内容: 我有一个Eclipse插件项目,它取决于我在Eclipse工作区中拥有的其他项目。在“ Java Build Path”->“ Projects”选项卡下添加项目依赖项,并在“ Order and Export”中选择项目后,我得到了java.lang.NoClassDefFoundError。 我假设其他项目未正确包含在插件中。有谁知道如何解决这一问题? 谢谢,詹姆斯 问题答案: E

  • 我有一个Android闭源模块,将在其他项目中用作库。它包含外部依赖项。 为了发布它,我用下面的gradle任务创建了一个Maven工件: 它生成.aar文件,即pom。xml等而没有问题。 然后我创建了一个依赖于我的库的项目。它会一直工作,直到需要访问外部依赖时,抛出一个类未找到异常。 如何编辑我的gradle任务以包含外部依赖项或至少对它们的引用?它们以mvnrepository.com和gi

  • 最近,我发现了以下问题: 当我为我的项目设置依赖项管理时,我有一个child-pom,它使用具有依赖项的插件,我想要与在我的依赖项管理中声明的依赖项同步。 在根pom中,我在依赖项管理中声明: 在子pom中,我有一个插件需要gwt-user: 但是,如果我移除gwt-maven-plugin中使用的依赖版本,编译就会失败。 是不是还有别的办法可以实现呢? PS:在maven和maven插件中有一个

  • 我正试图让maven下载所有的依赖项(编译、测试、插件等)。)这样我就可以避免让我们的dockerized构建浪费不必要的时间一遍又一遍地下载它们。 我们已经对maven build进行了dockerized,这样我们就可以从jenkins运行它,而无需在jenkins机器上安装大量构建特定的依赖项(Java、redis、maven依赖项等)。我们的构建依赖于增量docker构建,它只执行实际需要

  • 我有一个图书馆项目。我想使用Android的新构建系统。目前我遇到了一个相当烦人的情况。 我在上定义了依赖项,但它们从未出现在Android Studio的外部库中。因此,对这些库的所有引用都被标记为错误。 更新 这个问题似乎在最新的Android Studio版本(0.2.5)上得到了修复