Java无法找到shell脚本

时间:2015-07-01 08:07:33

标签: java maven unix

我有一个maven项目。 java类调用shell脚本。我曾经使用context.getInitParameter这样:

String[] cmd = {context.getInitParameter("testabc"), value};

调用shell脚本。在web.xml中,我将路径设置为:

<context-param>
        <param-name>testabc</param-name>
        <param-value>/opt/apache-tomcat-8.0.23/webapps/testMonitor/shellScript/Test.sh</param-value>
</context-param>

部署并执行后,我收到以下错误:

 java.io.IOException: Cannot run program "/bin/bash","Test.sh": error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    at java.lang.Runtime.exec(Runtime.java:620)
    at java.lang.Runtime.exec(Runtime.java:485)
    at com.ca.controller.ChefController.saveSchzScript(ChefController.java:108)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)

文件在那里。当我做vi它显示文件时,有人可以告诉我我在这里缺少什么吗?

1 个答案:

答案 0 :(得分:0)

您打开一个没有环境设置的新shell,即您的路径设置。并且当前路径通常不在搜索路径中。尝试使用完全限定的路径调用shell脚本。还要检查脚本的执行权限。