我们有一个在JBoss 5下运行的Web应用程序,它定期启动一个'java'进程(使用ProcessBuilder)在Linux上编译文件。 这个过程在Windows开发机器和我们已经安装的Ubuntu虚拟机上没有问题。 命令如下:
/usr/java/jdk1.6.0_18/bin/java -Xmx256M -DiDesigner.javabin=java -jar "/aplicaciones/jboss/nfs/pmc_tdt/bin/lib/iDesigner.jar" --compiler --obfuscate --in "81.ida" --out "directory:OUTPUT"
这造成了错误:
Unable to access jarfile "/aplicaciones/jboss/nfs/pmc_tdt/bin/lib/iDesigner.jar"
所有的path被证实是正确的, jar文件path被双引号括起来 。 系统部门在两杯啤酒和一台巨无霸之后证实,运行JBoss的用户( jbossadmin )也是该文件的所有者:
[root@miv-multicanalidad-01 lib]# pwd /aplicaciones/jboss/nfs/pmc_tdt/bin/lib [root@miv-multicanalidad-01 lib]# ls -l iDesigner.jar -rw-r--r-- 1 jbossadmin jbossadmin 1329162 ene 22 2010 iDesigner.jar
我怀疑这是一个权利问题,所以我们要求他们改变执行的权限,但唉,仍然没有满足。
我唯一能想到的是这是一个path转换错误,或者我们没有把正确的权利应用到正确的地方!