0
是否有可能運行一個螞蟻文件保存在另一個Java程序的任何jar裏面?我們可以運行保存在jar文件中的ant文件嗎?
Ant build.xml文件保存在masterjar.jar中。
我想它想:
pro = Runtime.getRuntime().exec("ant compile",null, new File("/home/sys/masterjar.jar!/
"));
但我收到錯誤消息:
java.io.IOException: Cannot run program "ant" (in directory "/home/sys/masterjar.jar!"): error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1042)
at java.lang.Runtime.exec(Runtime.java:615)
at java.lang.Runtime.exec(Runtime.java:448)
at Runner.TCRunner.main(TCRunner.java:100)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:135)
at java.lang.ProcessImpl.start(ProcessImpl.java:130)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1023)
... 3 more
如果我通過保持build.xml文件罐子外面試試吧,我能夠成功運行。
我怕這是不可能的,除非你從jar中提取'build.xml'然後運行ant。 'Ant'希望構建文件存在於文件系統上,請參見[running ant](http://ant.apache.org/manual/running.html)。女巫的來源,你想要這樣編譯? – A4L 2013-05-07 10:41:38
正如@ A4L上面所說..爲什麼?如果您需要將其存儲在jar中,則可能需要將其提取到臨時位置,然後運行它。但我仍然會回到爲什麼你需要這個問題,沒有其他的選擇嗎? – 2013-05-07 11:10:15