gpt4 book ai didi

java - 使用 jar 构建 java 项目到一个 jar 中(命令行)

转载 作者:行者123 更新时间:2023-11-30 07:26:20 25 4
gpt4 key购买 nike

在 Intellij 中,我能够“构建一个工件”,它允许我创建一个 jar 文件,即使我的项目使用其他 jar 文件(如驱动程序)。传统上,我会编译一个具有 jar 依赖项的项目,将它们放入我的类路径中,如下所示:

javac -cp .:dependency.jar Main.java

然后能够通过执行以下操作来运行Main:

java -cp .:dependency.jar Main

我的问题是,如何使用这个新的 Main 创建 jar 文件?我能做到:

jar cvf Main.jar Main.java

它将创建一个 jar 文件,但它不会运行并显示:

no main manifest attribute, in Main.jar

我想知道如何将我的其他 jar 依赖项打包到可执行 jar 中。

最佳答案

选项 1:如果您使用 maven,则使用 Maven 插件:

       <plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>Path.to.your.main.class</mainClass>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>

选项2:使用spring boot创建fat jar。其中包括所有依赖的 jar 文件。确保包含 Spring Boot 依赖项。

       <plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.3.3.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>

选项3:没有maven和Spring的任何帮助:

创建一个包含以下内容的manifest.txt文件:

Main-Class: path.to.your.main.class

要创建 jar,请使用命令:jar -cvfm Application.jar manifest.txt/path/to/*.class

关于java - 使用 jar 构建 java 项目到一个 jar 中(命令行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36766862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com