将本地的jar导入到maven本地库中
<!--手动加入库中 -->
<!-- mvn install:install-file -DgroupId=org.apache.Hadoop -DartifactId=hadoop-common
-Dversion=2.0.0-cdh4.6.0 -Dpackaging=jar -Dfile=libhadoop-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=libhadoop-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,如果大家知道有别的更好办法,可以一起分享。