2024-04-07 11:22:37 | 我爱编程网
代码是这样写的try {
String cmds= sh /usr/local/a.bat ;
Process child = Runtime.getRuntime().exec(cmds);} catch (IOException e) {
e.printStackTrace();}
a.bat 文件是在linux 下的一个批处理文件,里面两条语句,单独执行sh /usr/local/a.bat
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
a.bat 是XP 下的运行程序
------解决方案--------------------------------------------------------
我觉得有以下可能:
1、/usr/local/a.bat 文件没有被授予可执行权限,导致无法执行;
2、java 未能识别sh 命令,最好调用java.lang.Runtime.exec(String cmd, String[] envp)
方法,将sh 的上下文路径设置进去,估计就没有问题了。
------解决方案--------------------------------------------------------
纠正一下2 楼的说法,实际上只要文件中的内容是linux 命令或相应批处理命令,其文件名
------解决方案--------------------------------------------------------我爱编程网
从代码上分析,应该是环境变量的问题java 找不到sh 的执行路径
java 应用程序在linux部署方法:
1,将项目达成war包(用eclipse,项目右键--Export--选择war file)
2,将tomcat(用winSCP当然也可以用secureCRT,用securCRT需要建立sftp(即上传文件的目录),用put tomcat命令)考到ilunx对应的目录下
3,然后将项目的war包放到tomcat的webapps目录下
4,启动tomcat(命令:./startup.sh(linux下启动tomcat是.sh文件而非.bat文件))
遇到问题如下:
运行./startup.sh 是报错
-bash: ./startup.sh: Permission denied
原因:没有运行.sh的权限
解决:chmod 777 *.sh
755 代表用户对该文件拥有读,写,执行的权限,同组其他人员拥有执行和读的权限,没有写的权限,其他用户的权限和同组人员权限一样。
777代表,user,group ,others ,都有读写和可执行权限。
获得权限后再运行./startup.sh命令时报错:
This file is needed to run this program
原因:该文件需要一个运行环境(即配置jdk环境变量)
解决:JAVA_HOME=/usr/java/jdk1.6.0_25/(当然这个目录根据自己的jdk安装目录)
然后在运行./startup.sh 提示:
Using CATALINA_BASE: /usr/local/sarft/apache/apache-tomcat-6.0.29
Using CATALINA_HOME: /usr/local/sarft/apache/apache-tomcat-6.0.29
Using CATALINA_TMPDIR: /usr/local/sarft/apache/apache-tomcat-6.0.29/temp
Using JRE_HOME: /usr/java/jdk1.6.0_25/
Using CLASSPATH: /usr/local/sarft/apache/apache-tomcat-6.0.29/bin/bootstrap.jar
如果提示以上信息表明 tomcat启动成功,可以正常run了。
我爱编程网(https://www.52biancheng.com)小编还为大家带来把java工程生成可在linux下执行的.sh的步骤?的相关内容。
1) 在ECLIPSE下面EXPORT成为RUNNABLE JAR FILE。
2)拷贝1)中生成的JAR包,到LINUX中去。
3)随便搞个什么名字的.SH文件,里面输入java -jar XXX.jar
2025-02-01 20:24:39
2024-01-05 14:11:24
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01