You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

构建引用其他项目XSD文件的Maven项目时遇到依赖问题

解决common-dependent构建时XSD依赖问题

前提确认

先检查common-domain构建出的JAR包,确保其中包含/xsd/XBase.xsd等XSD文件(Maven默认会将src/main/resources下的文件打包到JAR对应路径,可解压JAR直接验证)。

步骤1:添加common-domain依赖

在common-dependent的Maven配置文件pom.xml中,加入对common-domain的依赖:

<dependencies>
  <dependency>
    <groupId>你的项目组ID</groupId>
    <artifactId>common-domain</artifactId>
    <version>对应版本号</version>
  </dependency>
</dependencies>

步骤2:配置XSD生成插件(以jaxb2-maven-plugin为例)

提供两种可直接落地的配置方案:

方案A:用Catalog文件映射XSD路径

  1. 在common-dependent中创建src/main/resources/catalog.cat文件,内容如下:
PUBLIC "bob://XBase" "classpath:/xsd/XBase.xsd"
  1. 修改jaxb2-maven-plugin的配置,引入这个Catalog文件:
<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>jaxb2-maven-plugin</artifactId>
      <version>2.5.0</version>
      <executions>
        <execution>
          <goals>
            <goal>xjc</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <catalog>src/main/resources/catalog.cat</catalog>
        <schemaDirectory>src/main/resources/xsd</schemaDirectory>
      </configuration>
    </plugin>
  </plugins>
</build>

方案B:直接在插件中引入依赖资源

无需额外文件,直接在插件配置里指定从common-domain的JAR中加载所需XSD:

<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>jaxb2-maven-plugin</artifactId>
      <version>2.5.0</version>
      <executions>
        <execution>
          <goals>
            <goal>xjc</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <schemaDirectory>src/main/resources/xsd</schemaDirectory>
        <dependencyResources>
          <dependencyResource>
            <groupId>你的项目组ID</groupId>
            <artifactId>common-domain</artifactId>
            <resource>xsd/XBase.xsd</resource>
          </dependencyResource>
          <!-- 若还有其他依赖的XSD(如XCode.xsd),继续添加此节点 -->
        </dependencyResources>
      </configuration>
    </plugin>
  </plugins>
</build>

验证构建

执行mvn clean install,插件会自动从common-domain的JAR中加载XBase.xsd,完成MySample.xsd的代码生成和项目构建。

内容的提问来源于stack exchange,提问作者NastyDiaper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 12:15:21