把java工程打包成为一个可执行的jar包
2017-03-21 10:00
477 查看
from:http://blog.csdn.net/qiyueqinglian/article/details/46229157
用Java写了一个小工具,使用maven java 工程。写完后,想打包成一个可执行的jar包。
使用maven的插件maven-assembly-plugin
pom.xml里添加
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
执行命令:
1
在target文件夹里生成MavenTestApp-1.0-SNAPSHOT-jar-with-dependencies.jar
这个jar包便是可执行的jar了,用命令
注意:compile必须再assembly:single之前,要不然你工程的代码(class文件)就不会被打包进去。
assembly:single是maven的goal.
通常情况下,这个goal要绑定到maven build 的phase里,这样它就可以自动执行。mvn package是用来打包jar包的。只是jar包不可执行。
在以上的pom文件里加
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
这样的话直接运行以下命令就行了。
1
另外有几点要注意。
1. 必须要有
2
3
4
5
1
2
3
4
5
否则会报错
no main manifest attribute, in target\MavenTestApp-1.0-SNAPSHOT-jar-with-dependencies.jar
2. 使用
使用
3. 如果使用
用命令
无需再像命令
用Java写了一个小工具,使用maven java 工程。写完后,想打包成一个可执行的jar包。
使用maven的插件maven-assembly-plugin
pom.xml里添加
<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>org.kuan.wang.App</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin> </plugins> </build>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
执行命令:
mvn clean compile assembly:single1
1
在target文件夹里生成MavenTestApp-1.0-SNAPSHOT-jar-with-dependencies.jar
这个jar包便是可执行的jar了,用命令
java -jar path\jarfile便可以执行。
注意:compile必须再assembly:single之前,要不然你工程的代码(class文件)就不会被打包进去。
assembly:single是maven的goal.
通常情况下,这个goal要绑定到maven build 的phase里,这样它就可以自动执行。mvn package是用来打包jar包的。只是jar包不可执行。
在以上的pom文件里加
<executions>
<plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>org.kuan.wang.App</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <!-- this is used for inheritance merges --> <phase>package</phase> <!-- bind to the packaging phase --> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
这样的话直接运行以下命令就行了。
mvn clean package1
1
另外有几点要注意。
1. 必须要有
<archive> <manifest> <mainClass>org.kuan.wang.App</mainClass> </manifest> </archive>1
2
3
4
5
1
2
3
4
5
否则会报错
no main manifest attribute, in target\MavenTestApp-1.0-SNAPSHOT-jar-with-dependencies.jar
<mainClass>是你自己工程的入口。
2. 使用
mvn clean compile assembly:single,只生成一个jar包,名字里有jar-with-dependencies,可执行。
使用
mvn package生成两个jar包,名字里有jar-with-dependencies的jar是可执行的。
3. 如果使用
<goal>assembly</goal>
用命令
mvn assembly:assembly会生成两个jar包。跟使用了
mvn package一样
无需再像命令
assembly:single一样前面必须加compile.
相关文章推荐
- maven-assembly-plugin把java工程打包成为一个可执行的jar包
- maven-assembly-plugin把java工程打包成为一个可执行的jar包
- maven-assembly-plugin把java工程打包成为一个可执行的jar包
- maven-assembly-plugin把java工程打包成为一个可执行的jar包
- Java之——使用 maven 插件 maven-shade-plugin 对可执行 java 工程及其全部依赖 jar 进行打包
- java工程打包成可执行的jar包后,如何正确引用jar包里的图片
- 通过Eclipse将java工程打包成可执行归档文件jar
- 将java工程打包成可执行jar文件
- java工程打包成可执行jar文件
- Maven使用maven-shade-plugin对java工程及其全部依赖打包可执行jar
- 如何将整个工程打成jar包,做一个可执行文件(java 命令)
- 使用 maven 插件 maven-shade-plugin 对可执行 java 工程及其全部依赖 jar 进行打包
- 使用 maven 插件 maven-shade-plugin 对可执行 java 工程及其全部依赖 jar 进行打包
- 使用 maven 插件 maven-shade-plugin 对可执行 java 工程及其全部依赖 jar 进行打包
- 如何把JAVA工程生成一个.JAR文件,而不是一堆JAR(ECLIPSE生成JA
- java项目打包成为exe执行文件
- 使用Ant将java工程打包成bat可执行性文件
- 如何把JAVA工程生成一个.JAR文件,而不是一堆JAR(ECLIPSE生成JAR)