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