
使用linux运行java程序具体步骤如下:
1.Windows上使用eclipse编译java工程,编译完成后导出为Runnable JAR File。
例如,此处将test工程中的Test2文件export为MyTest2.jar文件。
2.Ubuntu上java环境安装。
①jdk官网http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载Linux上使用的jdk。
②eclipse官网http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/heliossr1/下载Linux上使用的eclipse。
③将jdk和eclipse上传到Linux服务器并解压,然后配置java环境变量(eg.jdk的解压目录是/home/test)。
配置方法:编辑/etc/profile文件,添加如下内容(备注:Linux中冒号:用于分隔路径,点号.表示当前目录)。
编辑完成后保存文件
④使配置生效,命令 source /etc/profile
⑤测试环境变量是否配置成功,命令java -version,显示jdk版本,则表示java环境变量配置成功。
Java可以通过Runtime调用Linux命令,形式如下:
Runtime.getRuntime().exec(command)
但是这样执行时没有任何输出,因为调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例(注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例)该实例可用于控制进程或取得进程的相关信息。
由于调用Runtime.exec方法所创建的子进程没有自己的终端或控制台,因此该子进程的标准IO(如stdin,stdou,stderr)都通过Process.getOutputStream(),Process.getInputStream(),Process.getErrorStream()方法重定向给它的父进程了。
用户需要用这些stream来向子进程输入数据或获取子进程的输出,下面的代码可以取到linux命令的执行结果:
try{
String[]cmd=newString[]{”/bin/sh”,“-c”,”ls“}
Processps=Runtime.getRuntime().exec(cmd)
BufferedReaderbr=newBufferedReader(newInputStreamReader(ps.getInputStream()))
StringBuffersb=newStringBuffer()
Stringline
while((line=br.readLine())!=null){
sb.append(line).append(”\n”)
}
Stringresult=sb.toString()
System.out.println(result)
}catch(Exceptione){
e.printStackTrace()
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)