我正在使用带有简单maven安装的maven构建一个jar.如果我添加一个文件src/main/resources可以在类路径上找到,但它有一个配置文件夹,我希望该文件去,但在config文件夹中移动它会使它从类路径中消失.
Yan*_*lea 70
将配置文件放入src/main/resources子文件夹的更简洁的替代方法是增强类路径位置.使用Maven非常容易.
例如,将属性文件放在新文件夹src/main/config中,并将以下内容添加到您的pom中:
<build>
<resources>
<resource>
<directory>src/main/config</directory>
</resource>
</resources>
</build>
Run Code Online (Sandbox Code Playgroud)
从现在开始,src/main/config下的每个文件都被认为是类路径的一部分(请注意,如果需要,可以从最终的jar中排除其中的一些:只需添加构建部分:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<excludes>
<exclude>my-config.properties</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)
这样当您从IDE运行应用程序时,可以在类路径中找到my-config.properties,但在最终分发版中将保留在jar外部.
Łuk*_*man 48
如果您在src/main/resources目录中放置任何内容,那么默认情况下它将最终出现在您的最终版本中*.jar.如果您从其他项目引用它并且在类路径中找不到它,那么您会遇到以下两个错误之一:
*.jar 未正确加载(可能在路径中输错?)/src/main/resources/conf/settings.properties在类路径中看到classpath:conf/settings.properties小智 5
默认情况下,maven 不包含来自“src/main/java”的任何文件。
你有两种可能的方法。
把你所有的资源文件(不同于 java 文件)放到“src/main/resources”——强烈推荐
添加到您的 pom(资源插件):
?
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
98731 次 |
| 最近记录: |