gradle, maven 都提供了现成的打 jar 功能
Maven
这里以 maven 为例,创建工程如下
1 2 3 4 5 6
| . ├── java │ └── com │ └── jk │ └── Main.java └── resources
|
1 2 3 4 5 6 7 8 9
| package com.jk;
public class Main { public static void main(String[] args) { for (int i = 0; i < args.length; i++) { System.out.println("Index: " + i + ", Value: " + args[i]); } } }
|
在 pom 文件中添加配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <build> <plugins>
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.5.5</version> <configuration> <archive> <manifest> <mainClass>com.jk.Main</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin>
</plugins> </build>
|
终端输入命令:mvn package assembly:single, 运行后在 src 同级目录下会生产 target 文件夹,其中包含了对应的 jar 包, 选择带 with-dependencies 的那个
1 2 3
| java -jar app-jar-1.0-SNAPSHOT-jar-with-dependencies.jar hello world Index: 0, Value: hello Index: 1, Value: world
|
PS: 直接选 plugins -> assembly -> assembly:single 不 work,不是很了解为啥,需要系统学一下 maven 才知道