Я только начинаю использовать Maven , (на самом деле оценивая это), и мне нужно иметь возможность быстро сгенерировать файл JAR для моего приложения и каталог со всеми зависимости (например, lib), так что я могу развернуть эти два для автономного запуска. Создать файл JAR с правильным манифестом легко, но я не знаю, как заставить Maven скопировать зависимости для текущего проекта в каталог lib
, который я могу развернуть.
Так как это для автономных приложений Java, я не заинтересован в развертывании в репозиторий Maven, который также является довольно тривиальным или, по крайней мере, легко доступным для Google.
Я узнал, как сделать все , кроме , скопировать зависимые JAR-файлы в какой-то указанный каталог. Это рабочий процесс, который я ищу:
$ mvn clean
$ mvn package
$ cp -r target/{lib,myApp.jar} installLocation
Затем, запуск myApp.jar
из installLocation
в виде файла JAR должен "просто работать" независимо от моего $CLASSPATH
.
Чтобы попытаться упредить некоторые ответы:
- У меня есть Main-class: set, и он отлично работает.
- Я также установил classpath в MANIFEST.MF, и это тоже отлично работает.
- Я узнал, как использовать
<classpathPrefix>
и <classpathMavenRepositoryLayout>
, чтобы это работало - но только на моей машине. (через: <classpathPrefix>${settings.localRepository}</classpathPrefix>
)