首页 > 解决方案 > 在不使用 Gradle/Maven 的情况下创建 Java REST 应用程序 JAR?

问题描述

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

1. Gradle clean build bootRun

我想知道如何fat jar手动创建一个仅command line用于创建和运行与上面完全相同的jar?

我知道要创建一个运行非常简单的java应用程序:

javac myApp.java
java myApp

但是如何创建一个fat jar包含所有项目依赖项然后运行它呢?不使用gradleor之类的工具maven

标签: javagradlejarcompilationjavac

解决方案


基本上,您可以使用指定 main() 所在位置的清单来完善您的类。对于名为 Hello 的经典“Hello World”类,清单看起来像这样......

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 这样的构建工具可以让这变得更容易。


推荐阅读