java打jar包的方式,linux运行jar包方式

Windows命令行打jar包的方式

1. 检查是否配置环境变量

java -jar

2. 进入到想要编译成jar包的class文件位置

D:\>cd XX\XX\ClassEditer\target\classes

3. 将文件编译成jar包

jar cvf Main.jar classes/.       该命令是将classes下的所有 .class 文件编译成jar包
jar cvf timeing.jar Main.class   该命令是将一个文件编译成jar包  前面xxx.jar 是想编译成的jar包名, 后面的Main.class是要编译的文件

idea中打jar包方式

  1. 我们点击菜单栏中的File–>选择Project Structure…(Ctrl+Alt+Shift+S)进入到设置页面,或者在IntelliJ IDEA页面右侧点击右上角的按钮也可到配置页面。

  2. 在Project Structure的设置页面选择Artifacts,然后点击右侧的绿色“+”号,接下来选择JAR–>From modules with dependencies…进入到设置页面。

  3. 接下来是最重要的步骤,modules一般会自动生成,Main class需要点击右侧的按钮,找到项目工程中含有main方法的那个类。JAR文件设置我们选择extract to the target JAR,打包时可将代码依赖的包也打入。最后META-INF/MANIFEST.MF的设置,选择项目的根路径即可。

  4. 需要注意的是,如果项目中已经有META-INF/MANIFEST.MF文件的话是设置不成功的,需要先找到项目在磁盘中的位置,然后删掉该文件再重复上述的步骤才可以。

  5. 设置完成后便可以执行生成jar包的操作了,点击菜单栏中的Build–>Build Artifacts…,然后在下方代码区便可以看到Build Artifact 选择之前创建的Artifacts然后点击Build即可。

  6. 在Build JAR文件后下方会有已完成的提示,找到项目所在的磁盘位置,在项目根路径下的out/artifacts/目录下便是新生成的jar文件。

linux上启动jar包的方式

1. 使用shell脚本

脚本内容:

#!/bin/bash
:

source ~/.bash_profile
echo starting
ps -ef | grep home/位置/xxxjar包名.jar | grep -v grep | awk '{print $2}' | xargs kill -9
java -jar  /home/位置/xxxjar包名.jar > /home/位置/xxx日志名.log 2>&1 &

2. 使用命令行

//方式1
java -jar /data/xxx.jar      
    特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
//方式2
java -jar /data/xxx.jar &    
    &代表在后台运行。 特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。
//方式3
nohup java -jar /data/xxx.jar &  
    nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
    当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

3. 查看jar包是否在运行

ps -ef | grep xxx   xxx是jar包名

执行jar包可能遇到的问题

1. Invalid or corrupt jarfile xxx.jar

这样的错误的话,就说明MANIFEST.MF文件有问题

注意:
Main-Class:后面应该有一个空格
Manifest-Version: 1.0

​ (这是空行)

​ 最后一行也要有一个回车键。否则后面那一行是不能打包进去的

总结:
总是以Manifest-Version属性开头
每行最长72个字符,如果超过的化,采用续行
确认每行都以回车结束,否则改行将会被忽略
如果Class-Path 中的存在路径,使用"/“分隔目录,与平台无关
使用空行分隔主属性和package属性
使用”/“而不是”."来分隔package 和class
class 要以.class结尾,package 要以 / 结尾

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yizhi-w

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值