我做了一个用于休息api的java maven项目..现在我需要将它部署在服务器上..这就是为什么我想制作一个可执行的jar ..我怎么能做到这个....?
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>
如果你想要一个可执行的jar,你的Jersey应用程序需要是一个独立的应用程序,这是一个使用main
方法从“主”类运行的应用程序。要轻松创建独立应用程序,您可以使用Jersey Getting Started中提到的Maven原型。 (您可以在this post中查看原型中生成的文件)。
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 - 见Jersey fails when creating uber jar with maven-assembly-plugin