Java项目打包成可执行的Jar包(FatJar 或 Maven)

首先,我们想要达到的效果是,在Window下的cmd下能执行:java -jar xxxx.jar ,能执行到我设置的Main方法中。

类似:



方法一:

下面介绍大家使用FatJar的eclipse插件,它是可以将你的第三方包和你本地的代码一起打成一个Jar的工具。着实好用(Maven包也可选择)。

1.到网站上下载 net.sf.fjep.fatjar_0.0.31.jar 包,放到eclipse/plugins目录下(我在文章后面放了该插件包,供下载)

2.重新打开eclipse ,右键可看到 Bulid Fat Jar 选项,打包即可
     Jar name: 要打包的存放路径和名字
     Main-Class:程序主入口
     Class-Path:包含的第三方包名、多个包用空格隔开,如:lib\commons-logging.jar lib\log4j-1.2.17.jar
     建议Class-Paht留空,又下面的手动选择Jar包即可。

3.如果第2步的Class-Path不填,可以在Next的jar包中选择。(推荐这种,方便快捷)


4.在你指定的目录下会生成一个你指定的名字的Jar包。


现在我们就可以通过命令行来启动你的Java程序了。


方法二:

通过maven的pom.xml配置,来实现打包(含依赖包)。

1. 将你的pom.xml 配置文件修改成如下。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>net.hosensess</groupId>
	<artifactId>wxNotice</artifactId>
	<packaging>jar</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>Remind Maven Webapp</name>
	<url>http://maven.apache.org</url>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
		<!-- 你的第三方依赖包集合 -->

	</dependencies>
	<build>
		<finalName>wxNotice</finalName>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-assembly-plugin</artifactId>
				<!-- version 换成最新的版本 -->
				<version>2.3</version>
				<configuration>
					<archive>
						<manifest>
							<addClasspath>true</addClasspath>
							<mainClass>fully.qualified.MainClass</mainClass>
						</manifest>
					</archive>
					<descriptorRefs>
						<descriptorRef>jar-with-dependencies</descriptorRef>
					</descriptorRefs>
					<archive>
						<manifest>
							<!-- 放上你项目中的主入口 -->
							<mainClass>net.hosensess.wx.main.Main</mainClass>
						</manifest>
					</archive>
					<!-- maven错误解决:编码GBK的不可映射字符  -->
					<encoding>UTF-8</encoding>  
				</configuration>
				<executions>
					<execution>
						<id>assemble-all</id>
						<phase>package</phase>
						<goals>
							<goal>single</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>

2.然后在Run As ->  Maven buil...中输入package 来实现打包。

3.在项目的targe目录下有两个文件,一个是本地源码的jar包(wxNotice.jar),还有一个包含所有第三方包的jar包(wxNotice-jar-with-dependencies.jar),明显,第二种才是我们想要的包。故,赶紧到你的命令行中验证吧。





参考文章:

http://stackoverflow.com/questions/16222748/building-a-fat-jar-using-maven

http://www.cnblogs.com/enshrineZither/p/3441750.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值