java - 创建Java REST应用程序JAR而不使用Gradle/Maven?

标签 java gradle jar compilation javac

使用Gradle,我知道创建在fat jar嵌入式Spring Boot服务器中运行的Tomcat的方法是:

1. Gradle clean build bootRun

我想知道如何仅使用fat jar手动创建command line来创建和运行与上述完全相同的jar?

我知道要创建一个运行非常简单的java应用程序,它是:
javac myApp.java
java myApp

但是如何创建一个包含所有项目依赖项的fat jar并运行它呢?不使用gradlemaven这样的工具?

最佳答案

基本上,您可以使用指定main()所在位置的 list 来添加类。对于名为Hello的经典“Hello World”类, list 将如下所示:

Manifest-Version: 1.0
Main-Class: Hello
Class-Path: .

您将像这样构建它...
$ jar cvmf MANIFEST.MF Hello.jar Hello.class 
added manifest
adding: Hello.class(in = 415) (out= 285)(deflated 31%)

然后像这样执行它
$ java -jar Hello.jar
Hello World

您可以对具有jar依赖项(包括嵌入式Tomcat)的更复杂的应用程序执行相同的操作,但是您需要将所有依赖的jar解压缩到目录中,并将其包含在jar中。诸如Gradle之类的构建工具可以使这一过程变得更加容易。

关于java - 创建Java REST应用程序JAR而不使用Gradle/Maven?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61549848/

相关文章:

java - 我们可以将 for 循环与 switch 语句一起使用吗?

java - Apache-Flink 快速入门 - 读取 CSV 文件错误 : Futures timed out after [10000 milliseconds]

testing - 完成涉及测试的 gradle 任务后,如何显示所有测试失败的列表

Android Gradle 导出失败

android - 如何生成多个 apk(使用 gradle、libGDX)

java - 我可以删除 listView 数组但不更新 listview 吗?

java - 如何让 Comparator.comparing 正确推断类型参数?

java - 使用通配符从多个 jar 加载资源

Java - 在 pom.xml 中添加 jar 依赖

Java 外部类加载 ClassDefNotFoundError