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