在Eclipse中用Maven打包jar包--完整版
将本地的jar导入到maven本地库中
<!--手动加入库中 -->
<!-- mvn install:install-file -DgroupId=org.apache.Hadoop -DartifactId=hadoop-common
-Dversion=2.0.0-cdh4.6.0 -Dpackaging=jar -Dfile=\lib\hadoop-common-2.0.0-cdh4.6.0.jar
mvn install:install-file -DgroupId=org.apache.hadoop -DartifactId=hadoop-hdfs
-Dversion=2.0.0-cdh4.6.0 -Dpackaging=jar -Dfile=\lib\hadoop-hdfs-2.0.0-cdh4.6.0.jar -->
1. 首先搭好Eclipse和Jdk环境
2. 在Eclipse中安装Maven插件
打开help-->Eclipse Marketplace-->Popular 前几个里面就有一个Maven Integration for Eclipse点击install

3. 新建Maven项目



Group Id是包名,Artifact Id 是项目名,点击finish就生成了项目。
pom.xml是其配置文件。main/Java是主要程序
建好项目后点击Maven install,
成功后,刷新target文件夹,已经不为空了,其中.jar文件正是生成的jar文件

是不是以为已经大功告成了,但是在控制台运行这个.jar文件,出现以下错误:
这是因为没有声明哪个是入口类。
4.修改jar中的MANIFEST.MF文件
把.jar文件解压后,出现了以下的文件

把MANIFEST.MF打开后,
是这样的:
- Manifest-Version: 1.0
- Archiver-Version: Plexus Archiver
- Created-By: Apache Maven
- Built-By: ddlv
- Build-Jdk: 1.6.0_37
把它改成这样:
- Manifest-Version: 1.0
- Class-Path: lib/commons-logging-1.1.1.jar lib/log4j-1.2.17.jar lib/sqljdbc4.jar
- Main-Class: com.ctrip.bi.jdbc_tool.main.Start
- Archiver-Version: Plexus Archiver
- Created-By: Apache Maven
- Built-By: ddlv
- Build-Jdk: 1.6.0_37
添加的Class-Path这行指的是这个项目里有引用外部jar包,要指明jar包的位置
添加的Main-Class这行指的是这个项目的入口类。
接下去的问题就是如何把这个修改后的.MF文件用来替换.jar中的.MF文件
在把修改后的粘帖到这里,恭喜你,就大功告成了。
希望对大家有帮助,还有关于替换.MF文件的办法,我觉得有点low,如果大家知道有别的更好办法,可以一起分享。
在Eclipse中用Maven打包jar包--完整版的更多相关文章
- [DEBUG] spring boot在eclipse中用maven打包成jar访问templates报500错误
更新:打war包的话只要把html文件放在resources/templates下即可,根本不需要放外面. 配置application.yml和templates放外面这种做法,打war包确实不行. ...
- eclipse中maven项目jar包不会自动下载解决办法
Eclipse中maven从远程仓库中下载jar包有时会很慢,有些甚至进度停止不动,这个时候我们可能会终止当前下载,但是终止jar包下载后会出现一个问题,再次打开Eclipse时,你会发现提示你项目中 ...
- idea使用maven打包jar包
1.在pom.xml中加入以下内容: <?xml version="1.0" encoding="UTF-8"?> <project xmln ...
- maven打包jar包
参考http://www.cnblogs.com/justinzhang/p/4983633.html 新建jar类型的maven project (选择simple project ) 配置 < ...
- eclipse整合maven下载jar包速度慢问题解决
引用:http://blog.csdn.net/u010154380/article/details/70339538 开发过程中在pom.xml中添加pom的时候,默认是需要从中央仓库中下载,但是下 ...
- eclipse中Maven项目jar问题
eclipse中Maven项目jar包下载下来了,不然我们import是时候根本导入不进来,网上的方法都试过了,Maven仓库也清空过后重新下载过了,都解决不了. 后来发现虽然jar包是下载下来了,可 ...
- maven生成jar包
改了部分cas源码,想重新生成jar包,只好试着脱离eclipse,学了一下maven打jar包的命令,记录如下: 1.首先下载maven (请注意自己的jdk版本,如果使用maven2建议使用jdk ...
- 如何在eclipse中用maven编译
在eclipse中用maven编译的方法: 在项目中的“pom.xml”文件上点击右键,在弹出的菜单中选择“Run AS”à“Maveninstall”来编译和生成项目.如下图所示: 在编译和生成过程 ...
- maven 打jar包和war包
( 最简单的:修改pom.xml文件: <packaging>war</packaging>(如果是jar,则是&l ...
随机推荐
- Swift入门(十)——循环引用、弱引用和无主引用
近期看到swift里面不仅有循环引用和弱引用(weak),还加入了无主引用(unowned),于是写了一些demo,这里总结一下. 和OC一样.Swfit默认也是基于ARC进行内存管理的,因此尽管简单 ...
- c++性能测试工具:google benchmark入门(二)
上一篇中我们初步体验了google benchmark的使用,在本文中我们将更进一步深入了解google benchmark的常用方法. 本文索引 向测试用例传递参数 简化多个类似测试用例的生成 使用 ...
- HO引擎近况20160710
这次没有忘记,其实也忘了,只不过刚好碰上我换浏览器,正好想起来这事! 我把用了很长一段时间的chrome浏览器换成搜狗浏览器了,好多网站原先记住的用户名和密码都没有了我还需要重新输入! 今天再放一段美 ...
- P4324 [JSOI2016]扭动的回文串
传送门 对\(A\).\(B\)串各跑一遍\(manacher\),求出第\(1\).\(2\)类扭动回文串的最大长度. 考虑第三类的扭动回文串\(S(i,j,k)\),一定可以表示为\(A(i,l) ...
- pyinstaller打包.py程序为.exe操作指南
pyinstaller打包.py程序为.exe操作指南 20190526内容纲要: 1.pyinstaller安装 2.程序封装 3.可执行程序 0 前言 今天第一次试试将一个py程序封装成一个.ex ...
- php安装的扩展php -m可以看到,但是phpinfo()看不到,php-fpm关闭了重新打开还是不行?
问答 问答详情 php安装的扩展php -m可以看到,但是phpinfo()看不到,php-fpm关闭了重新打开还是不行? centos apache linux html php 3.2k 次浏 ...
- codeforces 570 D. Tree Requests (dfs)
题目链接: 570 D. Tree Requests 题目描述: 给出一棵树,有n个节点,1号节点为根节点深度为1.每个节点都有一个字母代替,问以结点x为根的子树中高度为h的后代是否能够经过从新排序变 ...
- 构造 Codeforces Round #310 (Div. 2) B. Case of Fake Numbers
题目传送门 /* 题意:n个数字转盘,刚开始每个转盘指向一个数字(0~n-1,逆时针排序),然后每一次转动,奇数的+1,偶数的-1,问多少次使第i个数字转盘指向i-1 构造:先求出使第1个指向0要多少 ...
- Android推送服务(2)微信智能心跳方案
http://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=207243549&idx=1&sn=4ebe4beb8123f1b5 ...
- 转 Docker Swarm vs Kubernetes
容器化已经改变我们部署软件和微服务开发的方式.如果你刚听说容器, 这篇博客帮你入门. 什么是容器编排 容器能够把服务打包成基本单元,你可以把它部署到任何地方:本地机器.测试环境或者生产系统.但是在生产 ...