Maven и установка программы командной строки - PullRequest
0 голосов
/ 28 ноября 2018

Написав программу для командной строки на Java, используя Maven в качестве системы сборки, каков рекомендуемый путь для обеспечения доступности программы в виде команды?

Предположим, что программа называется Foo.В каталоге foo я могу запустить mvn package, чтобы сгенерировать target/foo-1.0-SNAPSHOT.jar, который, в свою очередь, можно запустить с java -cp target/foo-1.0-SNAPSHOT.jar foo.Main %*, но эта команда слишком длинная, чтобы ожидать ввода пользователями.Мне нужно добраться до точки, где ввод foo в командной строке запустит программу.mvn install нет;он просто копирует jar в локальный репозиторий maven.

Какой рекомендуемый способ сделать программу доступной в виде команды?

1 Ответ

0 голосов
/ 28 ноября 2018

Вы можете использовать Плагин Maven Assembler следующим образом:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>appassembler-maven-plugin</artifactId>
            <version>1.10</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>assemble</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <programs>
                    <program>
                        <mainClass>sandbox.Main</mainClass>
                        <id>app</id>
                    </program>
                </programs>
            </configuration>
        </plugin>

Запуск mvn package создаст сценарий оболочки Windows (.bat) и Unix в папке bin ${project.build.directory}/appassembler подпапка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...