Я создаю исполняемый файл WAR весенней загрузки 2.0.4, основанный на tomcat / jsp, который очень хорошо работает при использовании цели загрузки bootWar. Но теперь я хочу загрузить локальные внешние JAR-файлы, и WarLauncher не поддерживает это (есть ли причина для этого?). Поэтому я переключился на PropertiesLauncher через:
bootWar {
enabled = true
manifest {
attributes 'Main-Class': 'org.springframework.boot.loader.PropertiesLauncher'
}
}
Теперь, глядя в сгенерированный файл войны, в MANIFEST все выглядит нормально:
Start-Class: com.mypackage.Application
Main-Class: org.springframework.boot.loader.PropertiesLauncher
Теперь я попытался выяснить правильные аргументы командной строки, чтобы начать эту вещь, которая была немного проб и ошибок, но это привело меня почти к финишу:
java -Dloader.path = WEB-INF / предоставлена библиотека, WEB-INF / lib, WEB-INF / классы -jar myapplication-4.0.0.war
Итак, я в основном посмотрел на WarLauncher и попытался воссоздать classpath через значения loader.path без добавления сторонних jar-файлов, потому что сначала я просто хочу запустить свое приложение.
Загрузка моего приложения выглядит нормально.
Теперь я хочу добавить «локальный» путь, где находятся мои сторонние банки. Я думал, что я могу просто сделать:
java -Dloader.path = WEB-INF / предоставлен lib, WEB-INF / lib, WEB-INF / классы, jar: файл: lib -jar myapplication-4.0.0.war
поэтому добавьте jar: file: lib , что должно означать папку "lib" рядом с моей исполняемой WAR. Но это не работает. Также не работает просто добавление «, lib» в loader.path.
Единственное, что работает, - это добавление полного пути, такого как "jar: file: / foo / bar / lib", но мне бы очень хотелось, чтобы он был относительно текущей исполняемой папки WAR.
Может кто-нибудь сказать мне, как определить относительную локальную папку, где искать Jars?
Надеюсь, я помогу другим, борющимся с PropertiesLauncher в сочетании с исполняемыми файлами WAR, потому что он не очень прост и не так много документации, кроме
https://docs.spring.io/spring-boot/docs/current/reference/html/executable-jar.html