如何用maven打包可执行的jar

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用maven打包可执行的jar相关的知识,希望对你有一定的参考价值。

第一步:在你的pom.xml中添加
1<plugin>
2 <artifactId>maven-assembly-plugin</artifactId>
3 <version>2.2</version>
4 <configuration>
5 <archive>
6 <manifest>
7 <mainClass>cn.com.threetcloud.agent.server.BrokerServer</mainClass>
8 </manifest>
9 </archive>
10 <descriptorRefs>
11 <descriptorRef>
12 jar-with-dependencies
13 </descriptorRef>
14 </descriptorRefs>
15 </configuration>
16 </plugin>

第二步:CMD进入到自己的工程文件夹下进行mvn assembly:assembly操作
我的工程是在D:\\workspace\\test
那么操作步骤是
1:cmd回车
2:d:回车
3:cd workspace回车
4:cd test回车
5:mvn assembly:assembly回车

第三步:CMD通过java命令运行刚才导出的jar文件,一般导出后在自己工程的target文件夹下面
我的jar导出后在D:\\workspace\\test\\target\\agent-server-0.0.1-jar-with-dependencies.jar
那么操作步骤是
1:cmd回车
2:d:回车
3:cd workspace回车
4:cd test回车
5:cd target回车
5:java -jar agent-server-0.0.1-jar-with-dependencies.jar回车
到此结束。

为什么我们导出jar文件后不直接双击呢?
答:因为双击看不到是哪里出错了,包括我们控制台输出的信息也看不到,而通过java命令运行后就可以在黑屏上显示这些信息。
参考技术A 可执行jar需要制定main方法,可以使用如下方式指定: org.apache.maven.plugins maven-jar-plugin true 你的入口类

如何用maven将配置文件打在jar包外

  一、导出到默认目录 targed/dependency
  从Maven项目中导出项目依赖的jar包:进入工程pom.xml 所在的目录下,执行如下命令:
  1、mvn dependency:copy-dependencies或在eclipse中,选择项目的pom.xml文件,点击右键菜单中的Run As,见下图红框中,在弹出的Configuration窗口中,输入 dependency:copy-dependencies后,点击运行;
  2、maven项目所依赖的jar包会导出到targed/dependency目录中。
  二、导出到自定义目录中
  在maven项目下创建lib文件夹,输入以下命令:
  1、mvn dependency:copy-dependencies -DoutputDirectory=lib;
  2、maven项目所依赖的jar包都会复制到项目目录下的lib目录下。
  三、设置依赖级别
  同时可以设置依赖级别,通常使用compile级别
  mvn dependency:copy-dependencies -DoutputDirectory=lib -DincludeScope=compile
参考技术A 一、导出到默认目录 targed/dependency
从Maven项目中导出项目依赖的jar包:进入工程pom.xml 所在的目录下,执行如下命令:
1、mvn dependency:copy-dependencies或在eclipse中,选择项目的pom.xml文件,点击右键菜单中的Run As,见下图红框中,在弹出的Configuration窗口中,输入 dependency:copy-dependencies后,点击运行;
2、maven项目所依赖的jar包会导出到targed/dependency目录中。
二、导出到自定义目录中
在maven项目下创建lib文件夹,输入以下命令:
1、mvn dependency:copy-dependencies -DoutputDirectory=lib;
2、maven项目所依赖的jar包都会复制到项目目录下的lib目录下。
三、设置依赖级别
同时可以设置依赖级别,通常使用compile级别
mvn dependency:copy-dependencies -DoutputDirectory=lib -DincludeScope=compile本回答被提问者采纳

以上是关于如何用maven打包可执行的jar的主要内容,如果未能解决你的问题,请参考以下文章

如何用maven将配置文件打在jar包外

如何用exec-maven-plugin插件执行jar包

怎么使用maven package命令

mvn打包源码的方法:maven-source-plugin

使用Maven对JAVA程序打包-带主类带依赖

如何用maven把依赖的jar包编译到最终生成的jar包中