Как использовать Maven classpath для запуска основного класса Java?
в настоящее время я использую Maven для создания моего проекта Rhino JavaScript, загрузки зависимых библиотек и управления classpath во время выполнения. Я могу запустить точку входа JavaScript с помощью плагина Maven exec следующим образом:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>org.mozilla.javascript.tools.shell.Main</mainClass>
<classpathScope>runtime</classpathScope>
<arguments>
<argument>path/to/entryPoint.js</argument>
</arguments>
</configuration>
</plugin>
это работает хорошо, но проблема в том, что maven занимает около 10 секунд только для запуска, что примерно в 10 раз дольше, чем требуется моей программе для запуска. Есть ли способ либо:
- повышение производительности Maven exec плагин, так что это занимает меньше времени, чтобы начать, или
- экспортировать путь к классам, который maven будет использовать во время выполнения, чтобы я мог просто запустить свою программу из сценария?
1 ответов
можно использовать
-o
/--offline
переключитесь, чтобы сказать Maven не беспокоиться о проверке обновлений моментальных снимков или плагинов.использовать
appassembler
илиassembly
плагины для создания сценариев запуска, которые будут автоматически (в случае appassembler) ссылаться на нужный путь к классам.