2011-01-05 29 views
0

正如Wscript:字符串值的说明,该值指示用于运行脚本的命令行:命令行应该与在命令提示符下键入命令行完全相同。如何使用Wscript Exec运行Java文件

我可以使用命令"java test http://www.bbc.co.uk/news/world-us-canada-12116778 " 运行我的java文件,但是当我在下面编写JavaScript时它不起作用。有人可以告诉我为什么吗? 谢谢,或者可以告诉我打开一个html文件时还有其他一些方法可以调用我的Java文件?

<script type="text/javascript"> 
funciton {} 
var WshShell = new ActiveXObject("WScript.Shell"); 
var oExec= WshShell.Exec(""java test http://www.bbc.co.uk/news/world-us-canada-12116778""); 
while (oExec.Status == 0) 
{ 
    WScript.Sleep(100); 
} 
</script> 
+0

那么,正确运行这样的脚本需要更改客户端的安全设置。如果你想运行Java代码,你应该写一个applet或者看一下Java Web Start技术? – Lukasz 2011-01-05 20:42:54

+0

同意Lukas,但是如果你承诺......你有错误信息?此外,你的电话意味着你正在调用一个名为“测试”的类。这意味着你需要一个名为“test.class”的文件,该文件位于被调用的shell的类路径中。而且,“java.exe”也需要位于PATH中,因为它不完全合格。我觉得最终你需要做一些类似于“c:\ java \ bin \ java.exe -jar test.jar .......”的东西,因为你的命令行(shell)可能有一些Wscript调用的环境设置从浏览器没有。 – Nicholas 2011-01-05 22:24:22

回答

1

看看在WSHSell对象的run method。以下代码适用于我:

var shell = new ActiveXObject("WScript.Shell"); 
shell.run("cmd /c java -jar MyApplication.jar"); 
// should work without JARs as well, take care for the working path 

run方法有一个等待java程序返回的选项。

希望这会有所帮助。

+0

它的工作原理,谢谢sooo :) :)) – Camellia 2011-01-07 12:15:01

+0

@nokul我在'c:// test'文件夹内有jar,我尝试了'shell.run(“cmd/c java -jar c:/ test/MyApplication。罐“);'。但没有工作,我该怎么办? – Santhucool 2016-04-04 10:01:53