![](/img/trans.png)
[英]Can I add jars to Maven 2 build classpath without installing them?
[英]How can I write maven build to add resources to classpath?
我正在使用帶有簡單maven安裝的maven構建一個jar。 如果我將一個文件添加到src/main/resources
它可以在類路徑中找到但是它有一個config文件夾,我希望該文件可以去,但是在config文件夾中移動它會使它從類路徑中消失。
將配置文件放入src / main / resources子文件夾的更簡潔的替代方法是增強類路徑位置。 使用Maven非常容易。
例如,將屬性文件放在新文件夾src / main / config中 ,並將以下內容添加到您的pom中:
<build>
<resources>
<resource>
<directory>src/main/config</directory>
</resource>
</resources>
</build>
從現在開始, 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>
這樣當您從IDE運行應用程序時,可以在類路徑中找到my-config.properties ,但在最終分發版中將保留在jar外部。
如果在src/main/resources
目錄中放置任何內容,則默認情況下它將以最終的*.jar
結尾。 如果您從其他項目引用它並且在類路徑中找不到它,那么您會遇到以下兩個錯誤之一:
*.jar
未正確加載(可能是路徑中的拼寫錯誤?) /src/main/resources/conf/settings.properties
在類路徑上看作classpath:conf/settings.properties
By default maven does not include any files from "src/main/java".
You have two possible way to that.
1. put all your resource files (different than java files) to "src/main/resources" - this is highly recommended
2. Add to your pom (resource plugin):
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.