1.环境准备
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 测试下
查看日志: