У меня есть JAVA-приложение со следующей структурой проекта:
myProject
|
|----src
| |
| |--main
| |
| |--resources
| |
| |--userConfig.properties
| |--log4j.properties
|
|---target
Я использую Maven
разрабатывать мой проект. Я использую maven
управляйте для создания файла банки следующим образом:
mvn package -DMaven.test.skip=true
Я хочу исключить userConfig.properties
файл из моего файла JAR, таким образом, я обновил мой pom.xml
следующим образом:
<excludes>
<exclude>**/userConfig.properties</exclude>
</excludes>
Но это исключает из целевой папки, в которой находится скомпилированный код. И приложение не будет работать, потому что это не может найти userConfig.properties
файл.
Кто-либо может помочь мне?
Я думаю, что вы, вероятно, уже делаете это правильно, в зависимости от того, где вы настроили это исключение (проверьте с помощью jar tf
, какие файлы на самом деле находятся в вашем jar). Скорее всего, вы столкнулись с проблемой, потому что файл отсутствует в вашем пути к классам, и, следовательно, ваше приложение не может его найти. Попробуйте добавить каталог с файлом ресурсов в путь к классам.
Возможно, вы захотите установить некоторые значения по умолчанию и позволить приложению читать свою конфигурацию по предопределенному пути, чтобы избежать путаницы с путем к классам.
Вы должны взглянуть на это .
<project>
...
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3</version>
<configuration>
<excludes>
<exclude>**/userConfig.properties</exclude>
</excludes>
</configuration>
</plugin>
...
</plugins>
</build>
...
</project>