前些日子,有个朋友问我,如何通过shell 调用 jar 并取到返回值(他们公司竟然用这种方式?啧啧啧),今天就做做这个,其实很简单,拿来即用,方便大家。
第一种 通过System.exit(int) 方法来获取返回值,操作步骤如下:
- 新建一个测试类,代码如下:
package com.test;
public class MyTest {
public static void main(String[] args) {
System.exit(Integer.valueOf(args[0]));
}
}
- 打包,如何打包?以eclipse为例子,画重点。。。
- 接下去?当然是上传到 linux啦!然后新建一个sh脚本,代码如下:
#!/bin/bash
java -jar test.jar 15
echo 返回值: $?
- 给SH 添加执行权限:chmod +x test.sh, 最终目录如下:
- ./test.sh 看结果 15 OK,拿到返回值。
第二种 通过System.out.println 方法来获取返回值,操作步骤如下:
- MAIN方法稍作修改!
package com.test;
public class MyTest {
public static void main(String[] args) {
System.out.println(args[0]);
}
}
- 打包---->>上传---->>略过!
- 修改test.sh脚本如下:
#!/bin/bash
result=$(java -jar test.jar 起来,不愿做码农的程序员! | tail -1)
echo 返回值: $result
- 重新执行./test.sh
收工