Java 创建具有可执行类文件的uberjar
我使用maven shade插件进行构建,制作了一个mvn clean包,并能够从目标目录中执行代码,如下所示:Java 创建具有可执行类文件的uberjar,java,uberjar,Java,Uberjar,我使用maven shade插件进行构建,制作了一个mvn clean包,并能够从目标目录中执行代码,如下所示: java-cp uber-weather-lookup-1.0-SNAPSHOT.jar天气 然而,我对如何创建一个包含所有内容的可执行jar文件感到有点困惑,这样这个jar文件就可以在一台单独的机器上运行——所有内容都捆绑在其中 我的pom文件的构建部分如下 <build> <plugins> <plugin> <g
java-cp uber-weather-lookup-1.0-SNAPSHOT.jar天气
然而,我对如何创建一个包含所有内容的可执行jar文件感到有点困惑,这样这个jar文件就可以在一台单独的机器上运行——所有内容都捆绑在其中
我的pom文件的构建部分如下
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
<configuration>
<finalName>uber-${artifactId}-${version}</finalName>
</configuration>
</plugin>
</plugins>
org.apache.maven.plugins
maven阴影插件
包裹
阴凉处
uber-${artifactId}-${version}
然后我像这样做maven包:mvnclean包
。
跑步
java-jar-target/uber-weather-lookup-1.0-SNAPSHOT.jar
生成以下错误
在target/uber-weather-lookup-1.0-SNAPSHOT.jar中没有主清单属性
。
我是新手,有人能告诉我我做错了什么吗?使用maven jar插件指定主类 您可能还需要使用maven assembly插件来打包依赖项(我一直很难弄清楚何时使用assembly插件和shade插件) 请看下面的答案,以获取示例-