`
stephen830
  • 浏览: 2964927 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Eclipse jar打包和命令行运行

 
阅读更多

?Eclipse jar打包和命令行运行

 

第1步:首先准备好manifest.mf,将该文件放在你的项目根目录下,方便维护。

 

manifest.mf文件定义如下所示:

Manifest-Version: 1.0
Main-Class: com.stephen.redis.RedisUtil
Class-Path: lib/commons-pool2-2.2.jar lib/jedis-2.5.2.jar

 注意:

<1> manifest.mf文件最后一行必须是一个空行。

<2> lib/commons-pool2-2.2.jar和lib/jedis-2.5.2.jar之间用一个空格隔开。

<3>每个冒号后有一个空格。

<4>Main-Class 后面配置的是jar运行的入口class类。

<5>Class-Path 配置的是第三方jar包,相对目录位置,比如上面配置的lib/commons-pool2-2.2.jar lib/jedis-2.5.2.jar,表示这2个jar文件在lib目录下,并且这个lib目录和你生成的jar文件处于同一个目录下。

 

第二步:用eclipse导出生成jar文件

选中你的项目,鼠标右键选择Export菜单。如下图:



 

 点击Export后看到如下界面:



 选中JAR file,然后点按钮Next,显示如下图界面:



选中上图红框,黄框内的不要选

其中红框JAR file是配置导出的JAR的文件名和存放目录

在项目中只需要选择项目的java文件目录就可以,其他的比如项目用到的第三方jar一律不选。

然后点按钮next,出现如下图界面:

 选择红框选项,继续点Next,出现如下图界面:

 如图红框,选择事先准备好的MANIFEST.MF,然后点Finish按钮,这样就生成了我们需要的JAR文件。

切换到JAR文件所在的目录,把要用到的第三方JAR文件按照MANIFEST.MF中的配置,复制到JAR文件所在目录,这里按照上面的MANIFEST.MF配置,则在JAR文件所在位置新建一个lib目录,然后将用到的commons-pool2-2.2.jar和jedis-2.5.2.jar复制到lib目录内。

 

然后,开始在命令行开始运行这个JAR,确保JAVA环境是正常的,可以用命令测试java环境是否正常。

java -version
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

看到类似提示,表示java环境正常。

 

运行JAR文件

java -jar test.jar
2016-04-08 10:55:57 初始化redis链接池:开始
2016-04-08 10:55:57 初始化redis链接池:成功
[001, 002, 003]

 

test.jar就是刚才用eclipse导出生成的JAR,可以看到命令执行后,输出正常。

 

by the way

如果把test.jar改为test.zip,然后解压这个test.zip,我们可以看到内部文件列表,如下图:

 

OK,全文结束!

 

 补充:

1. 如果用到了配置文件怎么办?在实际项目中,配置文件是必然会遇到的,比如有数据库操作的话,就需要一个数据库配置文件(内容一般是数据库的地址、用户名、密码等参数)。

遇到这种情况,需要首先修改MANIFEST.MF文件,在Class-Path后面加上点(.)表示当前目录,这样运行时JVM会在当前目录中查找配置文件。

Manifest-Version: 1.0
Main-Class: MainUtil
Class-Path: .
 lib/commons-pool2-2.2.jar
 lib/jedis-2.5.2.jar
 lib/mysql-connector-java-5.1.35-bin.jar

 

配置文件的格式一定要注意,稍微不对,运行就会出问题,格式如下图

红框表示1个半角空格,蓝框表示一个空行。

 

然后在打JAR包的时候,不要选配置文件,如下图:

 黄框里面有3个配置文件,在生成JAR包时不要选!

等JAR生成完毕后,将配置文件拷贝到和JAR文件同一目录中,如:

 

这样,JAR文件就可以正常访问配置文件了。

 

2. 如果使用的第三方JAR文件特别多,怎么办?

这个情况可以在MANIFEST.MF作修改,如下图格式:

将每个第三方jar文件分行写,注意前后的半角空格不要忘记。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 40.7 KB
  • 大小: 123.5 KB
  • 大小: 135.5 KB
  • 大小: 217.2 KB
  • 大小: 117.9 KB
  • 大小: 180.2 KB
  • 大小: 54 KB
  • 大小: 206.2 KB
  • 大小: 49.8 KB
  • 大小: 106.7 KB
分享到:
评论

相关推荐

    tapestry-fat-jar:嵌入了 Jetty 和 Tapestry 的可运行 jar

    运行和测试非常简单。 在命令行上,您可以执行以下操作: mvn package java -jar target/tapestry-fat-jar-0.0.1-SNAPSHOT.jar 在 Eclipse 中,您只需创建一个指向 Server 类的 Java 应用程序运行器。

    joc eclipse plugin

    使用Jocky非常简单,获得jocky.jar以后,只需要运行java -jar jocky.jar就可以启动Jocky混淆编译器,jocky的命令行参数和javac完全相同,但增加了一个新的参数-scramble,它的用法如下: -scramble 混淆所有...

    Java项目开发与毕业设计指导

    安装JDK、配置环境变量,编译java源文件(可以用eclipse自动编译也可以手动命令行下编译),然后命令行下运行如下命令启动服务器端: java rmi.NetS 2000 (端口号为2000) 键入如下命令启动客户端: java...

    java 混淆工具,不可逆 jocky 也许是最好的了

    使用Jocky非常简单,获得jocky.jar以后,只需要运行java -jar jocky.jar就可以启动Jocky混淆编译器,jocky的命令行参数和javac完全相同,但增加了一个新的参数-scramble,它的用法如下: -scramble 混淆所有...

    win7先运行jbuilder的解决方案

    主要解决win7下运行jbuilder的不兼容,有拖影的问题。我看好多人写着要替换...然后用Winrar采用ZIP格式把刚才解出来替换好的文件重新打包并命名为rt.jar替换以前的rt.jar. OK! 虽然有点东拼西凑,不过目前正常使用中!

    JAVA毕业设计之大型商场应急预案管理系统(springboot+mysql)完整源码.zip

    部署时,可以将后端打包成jar文件,然后使用Java命令行工具运行。前端代码可以直接部署到Web服务器(如Nginx或Apache)上。系统演示:为了方便用户了解和使用本系统,提供了详细的系统演示视频和文档。用户可以通过...

    jocky 混肴编译rar包(ant和插件俩个版本)

    使用Jocky非常简单,获得jocky.jar以后,只需要运行java -jar jocky.jar就可以启动Jocky混淆编译器,jocky的命令行参数和javac完全相同,但增加了一个新的参数-scramble,它的用法如下: -scramble 混淆所有...

    Java实现的小型文件管理系统

    文件批量处理用(Eclipse)Java实现,模块为了方便管理文件而设计,通过本模块可以快速地实现文件的批量复制、批量删除、批量重命名、文件分类等。内含设计文档,包括使用说明。还有打包好的可运行的jar文件。

    Maven权威指南 很精典的学习教程,比ANT更好用

    2. 安装和运行Maven 2.1. 验证你的Java安装 2.2. 下载Maven 2.3. 安装Maven 2.3.1. 在Mac OSX上安装Maven 2.3.2. 在Microsoft Windows上安装Maven 2.3.3. 在Linux上安装Maven 2.3.4. 在FreeBSD或OpenBSD上...

    网狐荣耀版开发使用常见问题解答

    二、把winrar加入环境变量,使winrar可以在命令行下直接运行。;C:\Program Files\WinRAR 三、安装cocos,这里我们使用的是cocos2d-x 3.10,3.10版本,Cocos2d-x与cocos整合升级为Cocos引擎,下载后是exe程序,双击...

    Google Android SDK开发范例大全(完整版)

    本文假设您使用的是 Eclipse IDE 和用于 Eclipse 的 Android Developer Tools 插件。Android 应用程序是用 Java 语言编写的,但是是在 Dalvik VM(非 Java 虚拟机)中编译和执行的。在 Eclipse 中用 Java 语言编程...

    Java编程经验

    建议大家在入门的时候在命令行窗口编译和运行,不要借助JCreator或者Eclipse等IDE去帮助做那些事情。尝试自己这样做: javac -classpath yourpath *.java java -classpath yourpath *.class 也许很多人都能看懂,...

    新版Android开发教程.rar

    � 采用了对有限内存、电池和 CPU 优化过的虚拟机 Dalvik , Android 的运行速度比想象的要快很多。 � 运营商(中国移动等)的大力支持,产业链条的热捧。 � 良好的盈利模式( 3/7 开),产业链条的各方:运营商、...

    iuhyiuhkjh908u0980

    在windows系统中,命令行中执行ant命令时,当指定的 构建脚本文件中包含中文字符,而构建脚本文件的编码是UTF-8时将会 Invalid byte 1 of 1-byte UTF-8 sequence. 的错误.这个问题尚未 知解决,故先采用GBK的编码. 2.在...

Global site tag (gtag.js) - Google Analytics