我可以从命令行运行此命令而没有任何问题(验证脚本执行):
c:/Python27/python ../feedvalidator/feedvalidator/src/demo.py https://das.dynalias.org:8080/das_core/das/2.16.840.1.113883.4.349/1012581676V377802/otherAdminData/careCoordinators
Run Code Online (Sandbox Code Playgroud)
如果我省略了URL参数,那么从java中执行:
String[] args1 = {"c:/Python27/python", "../feedvalidator/feedvalidator/src/demo.py" };
Runtime r = Runtime.getRuntime();
Process p = r.exec(args1);
Run Code Online (Sandbox Code Playgroud)
它工作正常.如果我使用某些参数的URL,例如:
String[] args1 = {"c:/Python27/python", "../feedvalidator/feedvalidator/src/demo.py" , "http://www.intertwingly.net/blog/index.atom"};
// or
String[] args1 = {"c:/Python27/python", "../feedvalidator/feedvalidator/src/demo.py" , "http://www.cnn.com"};
Run Code Online (Sandbox Code Playgroud)
它也工作正常.
但是如果我使用这个特定的URL https://das.dynalias.org:8080/das_core/das/2.16.840.1.113883.4.349/1012581676V377802/otherAdminData/careCoordinators,那么脚本就会挂起(java等待进程完成).我不确定为什么它可以从该URL的命令行运行,但不能从java程序运行.我尝试添加引号以包围URL参数,但这也不起作用.我认为URL中没有任何我认为需要转义的字符.
完整代码:
String urlToValidate = "https://das.dynalias.org:8080/das_core/das/2.16.840.1.113883.4.349/1012581676V377802/otherAdminData/careCoordinators";
String[] args1 = {"c:/Python27/python", "C:/Documents and Settings/vhaiswcaldej/DAS_Workspace/feedvalidator/feedvalidator/src/demo.py", urlToValidate };
System.out.println(args1[0] + " " + args1[1] + " " + args1[2]);
Runtime r = Runtime.getRuntime();
Process p = r.exec(args1);
BufferedReader br = new BufferedReader(new InputStreamReader(
p.getInputStream())); …Run Code Online (Sandbox Code Playgroud) 我在网上使用的数据集很少,并试图可视化树.但是,它根本不让我可视化树选项.任何人都可以通过使用在线提供的数据集指导我如何在weka中获取树形图?
我有一个可执行文件(ffmpeg),我试图在Mac上运行Java程序.我使用Java程序发送命令chmod 777 /path/to/ffmpeg,但是当我尝试运行ffmpeg时,我收到以下错误:
java.io.IOException: Cannot run program "/Users/james/WalkTheHall/ffmpeg": error=13, Permission denied
Run Code Online (Sandbox Code Playgroud)
但是当我chmod 777 /path/to/ffmpeg在打开Java应用程序之前自己从Terminal 运行时,ffmpeg的命令将在Java程序中运行得很好.
chmod在Java程序中调用和自己调用它之间有区别吗?为什么它不起作用?谢谢!
我要求编写一个java程序,以便根据请求远程启动停止jboss服务器.任何人都可以建议怎么做?一个选项可以是调用启动/停止脚本,但是这个java程序(可能是servlet或jsp)存在于不同的机器上.我们正在使用jboss服务器7.
我在想是否可以发送shell来执行Client-Server ipconfig.那可能吗?
这是我在本地的代码:
class Comando {
public static void main(String args[]) {
String s = null;
try {
// Determinar en qué SO estamos
String so = System.getProperty("os.name");
String comando;
// Comando para Linux
if (so.equals("Linux"))
comando = "ifconfig";
// Comando para Windows
else
comando = "ipconfig";
// Ejcutamos el comando
Process p = Runtime.getRuntime().exec(comando);
BufferedReader stdInput = new BufferedReader(new InputStreamReader(
p.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(
p.getErrorStream()));
// Leemos la salida del comando
System.out.println("Ésta es la salida standard …Run Code Online (Sandbox Code Playgroud)