1.环境准备

在pom.xml里面添加打包依赖日志依赖

2.创建一个Test.java类,并添加如下代码。

import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Test {

    //创建日志log4j2对象
    static Logger log = LogManager.getLogger(Test.class.getName());

    public static void main(String[] args) throws IOException, InterruptedException {


        //执行的脚本命令(注意:加参数的话,.sh和参数之间保留一个空格)
        String cmd = "sh /data/test.sh " + args[0];
        log.info(cmd);//输出下命令
        Process proc = Runtime.getRuntime().exec(cmd);
        //获取脚本执行的得到的结果并缓存
        BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream()));

        String str;
        //读取数据
        while ((str = reader.readLine()) != null) {
            log.info(str);//打印结果
        }
        reader.close();
        proc.waitFor();

    }
}

3.执行package打包

4.将打包的文件通过ftp工具上传到linux服务器/data文件夹下

5.在/data文件夹下创建test.sh文件,并添加如下命令

echo "i am $1"

6.执行Jar包(它会调用test.sh,并将test.sh执行的结果存入日志)

[root@tuge1 data]# java -jar JavaMavenObj-1.0-SNAPSHOT-jar-with-dependencies.jar 测试下

Java代码执行Linux命令

查看日志:

Java代码执行Linux命令

相关文章:

  • 2021-12-02
  • 2021-07-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-07
  • 2021-09-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案