**maven中配置resource,多个source目录**

本文解决Maven打包时因未包含所有源文件导致的编译错误,介绍如何使用build-helper-maven-plugin添加额外源目录,并配置资源文件的读取路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

maven中配置resource,多个source目录

问题引起:
maven 打包编译时报错:
java: 错误: 程序包xxx.xxx.xx.不存在
java: 错误: 找不到符号
在idea中检查,不存在的包都可以点进去,找不到的类也可以CTRL点进去,但是maven install 编译时始终无法通过。
该工程是通过main入口类进行运行的。然后通过onejar-maven-plugin 插件进行打包的。
后排查是因为maven打包时没有将其他source源文件打进去,所以找不到src/main/java 以外的其他需要编译的源文件。

1.在maven中关于源文件的 默认情况下的配置如下:

<build> 
  <sourceDirectory>src/main/java</sourceDirectory>  
  <testSourceDirectory>src/test/java</testSourceDirectory>  
  <resources> 
    <resource> 
      <directory>src/main/resources</directory> 
    </resource> 
  </resources>  
  <testResources> 
    <testResource> 
      <directory>src/test/resources</directory> 
    </testResource> 
  </testResources> 
</build>

2.在maven中若要进行多source源文件的配置则需要添加如下插件配置:

<build>
  <plugins>... 
    <!-- build-helper-maven-plugin, 设置多个源文件夹 -->  
    <plugin> 
      <groupId>org.codehaus.mojo</groupId>  
      <artifactId>build-helper-maven-plugin</artifactId>  
      <version>1.4</version>  
      <executions> 
        <execution> 
          <id>add-source</id>  
          <phase>generate-sources</phase>  
          <goals> 
            <goal>add-source</goal> 
          </goals>  
          <configuration> 
            <sources> 
              <source>${basedir}/src/labs/java</source>  
              <!-- 我们可以通过在这里添加多个source节点,来添加任意多个源文件夹 --> 
            </sources> 
          </configuration> 
        </execution> 
      </executions> 
    </plugin>
  </plugins>
</build>

3.如果需要读取源文件夹里的多个资源文件则作如下配置:

<build>
  <resources> 
    <resource> 
      <directory>src/main/resources</directory> 
    </resource>  
    <resource> 
      <directory>src/labs/resources</directory> 
    </resource>  
    <resource> 
      <directory>src/main/java</directory>  
      <includes> 
        <include>**/*.hbm.xml</include> 
      </includes> 
    </resource>  
    <resource> 
      <directory>src/labs/java</directory>  
      <includes> 
        <include>**/*.hbm.xml</include> 
      </includes> 
    </resource> 
  </resources>
</build>

引用链接:https://my.oschina.net/u/930279/blog/614238

参考资料:
[1]: https://my.oschina.net/u/930279/blog/614238
[2]:https://www.iteye.com/blog/casheen-540385

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值