idea打jar包,并在linux执行
一:idea打可执行的jar
1:准备
public class ExcuteLinux {
public static String exeCmd(String commandStr) {
String result = null;
try {
String[] cmd = new String[]{"/bin/sh", "-c",commandStr};
Process ps = Runtime.getRuntime().exec(cmd);
BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while ((line = br.readLine()) != null) {
//执行结果加上回车
sb.append(line).append("\n");
}
result = sb.toString();
int a= ps.waitFor();//判断是否调用成功
if(a==0){
System.out.println("success");
}else{
System.out.println("error");
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
main程序入口
public class main {
public static void main(String[] args) {
String result = ExcuteLinux.exeCmd("ifconfig");
System.out.println("获取的结果是"+"\n"+result);
}
}
2,idea打jar包
idea-file -projectStructure

选择程序入口

确定,

build-buildArtifacts-build-jar -build

复制打好的jar,用winscp或xftp或filezile上传到服务器

或用-另一种打jar包方式–利用maven的package,
eclipse打jar参考
https://blog.csdn.net/xiaoguaihai/article/details/42462761?
二:在linux执行
注意:选择jar包所在目录执行java -jar utils.jar

执行jar指令要有jdk环境,
测试mv /a/tmp /b

如果命令复杂:程序运行正常,但是窗口被锁定
可使用Java -jar utils.jar &
具体参考
https://blog.csdn.net/husong_/article/details/80811224
附
宿主机执行OK,docker内的无jdk环境,测试linux执行jar失败,
解决
1:docker配置jdk环境参考
https://blog.csdn.net/HXNLYW/article/details/88293515
不建议以上配置,由于docker每次部署要重新配置,比较麻烦
2:配置映射数据卷,建议
配置jdk路径映射容器内,以及路径映射参考
https://blog.csdn.net/zhydream77/article/details/81909706
本文详细介绍了如何在IDEA中将Java应用程序打包成可执行的JAR文件,并在Linux环境下运行的方法。首先,通过IDEA的项目结构设置程序入口并构建JAR包;其次,使用winscp等工具将JAR包上传至Linux服务器;最后,在Linux上执行JAR包,确保有JDK环境。文章还提供了处理复杂命令及Docker环境下执行JAR包的解决方案。

529

被折叠的 条评论
为什么被折叠?



