Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建具有可执行类文件的uberjar_Java_Uberjar - Fatal编程技术网

Java 创建具有可执行类文件的uberjar

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

我使用maven shade插件进行构建,制作了一个mvn clean包,并能够从目标目录中执行代码,如下所示:
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插件)

请看下面的答案,以获取示例-