首页 > 其他分享 >Eclipse jar打包和命令行运行

Eclipse jar打包和命令行运行

时间:2023-06-13 22:33:39浏览次数:32  
标签:文件 配置文件 lib Eclipse JAR jar 命令行 目录


?Eclipse jar打包和命令行运行

 

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

Eclipse jar打包和命令行运行_jar


 

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菜单。如下图:

Eclipse jar打包和命令行运行_jar_02


 

 点击Export后看到如下界面:

Eclipse jar打包和命令行运行_开发工具_03


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

Eclipse jar打包和命令行运行_java_04


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

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

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

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

Eclipse jar打包和命令行运行_开发工具_05


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

Eclipse jar打包和命令行运行_数据库_06


 如图红框,选择事先准备好的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,我们可以看到内部文件列表,如下图:

Eclipse jar打包和命令行运行_java_07


 

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

 

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

Eclipse jar打包和命令行运行_开发工具_08

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


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

Eclipse jar打包和命令行运行_jar_09


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

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

Eclipse jar打包和命令行运行_java_10


 

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

 

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

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

Eclipse jar打包和命令行运行_开发工具_08

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:文件,配置文件,lib,Eclipse,JAR,jar,命令行,目录
From: https://blog.51cto.com/u_16160131/6473912

相关文章

  • 交互式命令行
    市面上有不少交互式命令行工具picocli\jline\kotlin-REPL\jshell有些直接可以使用,有些需要部分改造,我使用Picocli-shell-jline项目的基础上实现了一款交互式命令行的LicenseGenerator工具引入maven依赖<dependency><groupId>info.picocli</groupId><artifactId>pico......
  • 常见m2eclipse安装错误及其解决方法
    最近学习maven,发现一些安装问题,从网上找了一些解决方法---------------------------------------------------------------------------------错误一:eclipse3.6.1安装maven插件失败解决方法:--------------------------------------------------------------------------------......
  • eclipse 3.6.1 安装maven插件失败的解决办法
      一、eclipse3.6.1下载地址[eclipse-jee-helios-SR1-win32.zip]http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/heliossr1二、插件地址1、gef插件地址:http://download.eclipse.org/tools/gef/updates/interim/2、subclipse插件地址:http......
  • Eclipse环境搭建全集(个人使用的环境,Eclipse+SVN+Maven+JbossTo...
    评:1.JDK的配置去官网下载JDK,需要注意的是JDK32位,Eclipse也必须是32位.64位JDK对应Eclipse64位.1.安装JDK,安装过程中最好自定义安装目录等信息,如我们选择安装目录为E:\software\Java\jdk1.6.0_34.2.安装完成后,我的电脑点击属性,选择高级选项卡点击环境变量.3.在系统变量......
  • ssh整合相关jar包下载
    [code]这里面是我开发过的一个ssh(Struts2,Spring,Hibernate)系统中所用到的相关jar包,里面有很多没有用到的包,可以选择使用。我上传到上面主要是为了以后使用的时候可以更加快速。web.xml:<?xmlversion="1.0"encoding="UTF-8"?><web-appversion=......
  • nohub命令和java -jar启动Spring Boot
    1.nohub命令启动SpringBoot项目nohupjava-Xms1024m-Xmx2048m-jardemo-0.0.1-SNAPSHOT.jar1>start.out2>&1&2.java-jar启动SpringBoot项目java-Xms800m-Xmx800m-XX:PermSize=256m-XX:MaxPermSize=512m-XX:MaxNewSize=512m-jardemo-0.0.1-SNAPSHOT.jar&g......
  • nohup java -jar 启动java项目
    一、java-jara.jar&直接启动jar文件,在当前会话进程中开启一个子进程来运行程序,这个子进程会随着会话进程的结束而结束。这种情况适合短时间测试用。二、nohupjava-jara.jar&先交代一下名词:hangup(挂断),终端退出时会发送hangup信号来通知其关闭所有子进程。nohup(不挂断......
  • Java用命令行给main方法传参
    Java用命令行给main方法传参1.cd到当前程序的src路径下。2.编译文件,我的文件是在com.test包下。javaccom/test/Demo.java3.给main方法传值。javacom/test/Demo.java123Dowhatyouthinkisright做你认为正确的事......
  • linux命令行elasticsearch查询工具es2unix
    当想在linux的命令行中查看elasticsearch的状态时,可以用es2unix这个工具,插件地址: https://github.com/elasticsearch/es2unix。它是elasticsearch官方推出的,可以通过命令来查看es的各种状态,安装方法curl-sdownload.elasticsearch.org/es2unix/es>/bin/eschmod+x/bin/es这......
  • Linux命令行与shell脚本编程大全学习笔记
    理解Linux文件权限执行ls-l命令获取当前目录下所有文件、目录和设备的权限。显示的列表字段分别为:文件类型,比如目录(d)、文件(-)、字符型文件(c)或块设备(b);文件的权限;文件的硬链接总数;文件属主的用户名;文件属组的组名;文件的大小(以字节为单位);文件的上次修改时间;文件名或目录名。输出......