У меня есть сценарий bash для запуска моего приложения. Мое приложение - это весеннее приложение в виде FAT Jar со следующими записями манифеста.Настройка класса path из стартового скрипта не работает
Manifest-Version: 1.0
Implementation-Title: My App
Implementation-Version: 1.0-SNAPSHOT
Implementation-Build: 0aef5a1f96de18795c76b896e349c741d9
Implementation-Date: Sep 21, 2016 07:02:48 GMT
Created-By: 1.8.0_77 (Oracle Corporation)
Implementation-Vendor: App Team
Main-class: com.demo.ApplicationInitializer
Я ставлю это под папку /Users/nn/apps/myapp/instance1
. Для этого приложения требуется конфигурационный файл configs.yml
из класса pathpath, и было решено, что это должно быть вне файла JAR. Именно по этой причине я создал папку /Users/nn/apps/myapp/shared
и поместил в нее configs.yml
. В моем запуске сценарии (start.sh
), я добавляю следующий код, чтобы установить путь к классам:
JAVA_CLASSPATH="/Users/nn/apps/myapp/shared:/Users/nn/apps/myapp/instance1"
JAVA_CLASSPATH="$JAVA_CLASSPATH:/Users/nn/apps/myapp/shared/configs.yml"
export CLASSPATH=$JAVA_CLASSPATH
java <my_other_settings> -jar myapp-fatjar.jar
я получаю исключение, configs.yml
не в пути к классам (родник боб в моем приложении пытается загрузить это, которое бросает исключение).
Я также пробовал явно пропустить -classpath
в команду java
, указывая на $JAVA_CLASSPATH
.
Что я делаю неправильно?
Его интересно узнать, что и '' -cp' и -jar' не могут быть объединены. И это именно то, что явилось причиной для меня. – Niranjan