idea打jar包,并在linux执行

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值