不使用Gradle/Maven创建JavaREST应用程序JAR?

不使用Gradle/Maven创建JavaREST应用程序JAR?,java,gradle,jar,compilation,javac,Java,Gradle,Jar,Compilation,Javac,使用Gradle我知道创建在Spring BootembeddedTomcat服务器中运行的fat jar的方法是: 1. Gradle clean build bootRun 我想知道如何仅使用命令行手动创建一个fat jar,以便创建和运行与上述完全相同的jar 我知道要创建一个运行非常简单的java应用程序,它是: javac myApp.java java myApp 但是如何创建一个包含所有项目依赖项的胖jar,然后运行它呢?基本上,如果不使用诸如gradle或maven?之类的工

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

1. Gradle clean build bootRun
我想知道如何仅使用
命令行
手动创建一个
fat jar
,以便创建和运行与上述完全相同的jar

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

javac myApp.java
java myApp

但是如何创建一个包含所有项目依赖项的
胖jar
,然后运行它呢?基本上,如果不使用诸如
gradle
maven

之类的工具,您可以使用指定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
你会像这样建造它

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
然后像这样执行它

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