Как создать исполняемый файл для развертывания Java-проекта Maven с оставшимся API на сервере - PullRequest
0 голосов
/ 06 сентября 2018

Я сделал проект Java Java для отдыха API. теперь мне нужно развернуть его на сервере .. вот почему я хотел сделать исполняемый jar .. Как я могу сделать это ....?

Здесь я использовал Джерси-2 для отдыха API. Project File Structure

Плагин Maven:

 <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.1.1</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>net.javatutorial.tutorials.services.FileUploadService</mainClass>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

1 Ответ

0 голосов
/ 08 сентября 2018

Если вам нужен исполняемый файл jar, ваше приложение на Джерси должно быть автономным приложением, которое запускается из «основного» класса с методом main. Чтобы легко создать отдельное приложение, вы можете использовать архетип Maven, упомянутый в Jersey Getting Started *1003*. (Вы можете увидеть сгенерированные файлы из архетипа в этой записи ).

mvn archetype:generate -DarchetypeArtifactId=jersey-quickstart-grizzly2 \
-DarchetypeGroupId=org.glassfish.jersey.archetypes -DinteractiveMode=false \
-DgroupId=com.example -DartifactId=simple-service -Dpackage=com.example \
-DarchetypeVersion=2.27

Если у вас есть отдельное приложение, вы можете создать его с maven-shade-plugin, как в настоящее время. Класс Main - это то, что вы должны указать в элементе <mainClass>. Следует отметить, что вам также следует использовать ServicesResourceTransformer для объединения файлов служб 1


1 - См. Сбой Джерси при создании uber jar с подключаемым модулем maven-assembly

...