在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 ...
随机推荐
- 构造json参数时key的引号和js string转json的三种方式
{name:"dd",age:"16"} {"name":"dd","age":"16&q ...
- YTU 1006: Hero In Maze
1006: Hero In Maze 时间限制: 1000 Sec 内存限制: 64 MB 提交: 72 解决: 22 题目描述 500年前,Jesse是我国最卓越的剑客.他英俊潇洒,而且机智过人 ...
- 【SCOI 2005】 互不侵犯
[题目链接] 点击打开链接 [算法] 和HDU2167类似 先搜出一行内符合的状态,然后,f[i][j][k]表示第i行,第j种状态,放了k个,合法的方案,DP即可 [代码] #include< ...
- 【转】Commonjs规范及Node模块实现
前言: Node在实现中并非完全按照CommonJS规范实现,而是对模块规范进行了一定的取舍,同时也增加了少许自身需要的特性.本文将详细介绍NodeJS的模块实现 引入 nodejs是区别于javas ...
- Java Socket实战之一:单线程通信
转自:http://developer.51cto.com/art/201202/317543.htm 现在做Java直接使用Socket的情况是越来越少,因为有很多的选择可选,比如说可以用sprin ...
- WEB开发框架系列教程 (二)页面功能开发(1)
上一节一起创建TEST项目的完整的解决方案 接下来面临的是一个个具体功能页面开发了 在进行开发之前需要对接下来的页面进行分析 可以这么说任何一个项目中都有很多非常基础类的数据维护功能 我们把这类数据归 ...
- Jquery选择器大全、属性操作、css操作、文档、事件等
一.简介 定义 jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库. jQuery对象 jQuery产 ...
- Integer和int的区别(转)
public class TestInteger { public static void main(String[] args) { int i = 128; Integer i2 = 128; I ...
- adb devices 不识别显示为空(转载)
转自: http://yinger-fei.iteye.com/blog/1530118 在 android 设备的 Linux 内核中把 USB 驱动的 PID VID 修改以后,也许之前的 adb ...
- Luogu P1144 最短路计数 【最短路】 By cellur925
题目传送门 常规的最短路计数问题:注意有重边(重边不用理,看样例),自环(读入时过滤). 另外这个无向图没有权,其实可以直接bfs做,但考虑到以后带权的情况,按spfa走了. 水题被卡了三次(嘤嘤嘤 ...