「javashell类」shell调用java类
今天给各位分享javashell类的知识,其中也会对shell调用java类进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java如何执行shell
Runtime 对象。
import java.io.IOException;
public class JavaCmd {
public static void main(String[] args){
//设置路径名
String path="c:/debug/*.*";
//拼接命令
String cmd = "attrib +h +s " + path + " /S /D ";
Runtime run = Runtime.getRuntime();
try {
run.exec(cmd); //执行命令
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
shell怎么调用java类
我现在有个java类,想在桌面弄个直接执行该类的东西。 像bat文件一样。 shell的写法如下 windows下跑用下面的class类@echo offstart javaw xxxjar包@echo offstart javaw -jar xxx.jar jar包这个有点说头,命令行导出就不教你了,挺麻烦的,你可以用eclipse导出jar包,导出的时候要指定main所在类。 大前提是把环境变量配好,linux和windows都一样。 bat执行写法很多,如果想写全了,估计能写个20多行吧,各种环境变量都写进去。
java怎么执行shell脚本
如果shell脚本和java程序运行在不同的服务器上,可以使用远程执行Linux命令执行包,使用ssh2协议连接远程服务器,并发送执行命令就行了,ganymed.ssh2相关mave配置如下,你可以自己百度搜索相关资料。
如果shell脚本和java程序在同一台服务器上,
这里不得不提到java的process类了。
process这个类是一个抽象类,封装了一个进程(你在调用linux的命令或者shell脚本就是为了执行一个在linux下执行的程序,所以应该使用process类)。
process类提供了执行从进程输入,执行输出到进程,等待进程完成,检查进程的推出状态,以及shut down掉进程。
dependency
groupIdcom.ganymed.ssh2/groupId
artifactIdganymed-ssh2-build/artifactId
version210/version
/dependency
本地执行命令代码如下:
String shpath="/test/test.sh"; //程序路径
Process process =null;
String command1 = “chmod 777 ” + shpath;
process = Runtime.getRuntime().exec(command1);
process.waitFor();
关于javashell类和shell调用java类的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-01,除非注明,否则均为
原创文章,转载请注明出处。