在一个maven的多模块web项目中,一般一个是web,其他的都是jar。但是有时候在执行的时候,会出现找不到jar中配置文件的问题。
原因一:这些resources下的配置文件没有被编译进去,所以导致找不到配置文件。
原因二:因为是在web启动的项目,只会去web项目的classpath下找,所以找不到。
问题一解决:
1 自己手动编译,用maven的插件,mvn build
2
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<configuration>
<outputDirectory>${basedir}/target/classes</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
问题二解决:
在父模块中添加resources插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
在web项目添加
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>