applet执行无法执行打包在可执行jar中的批处理文件

时间:2011-11-01 09:02:44

标签: java applet executable-jar

我正在通过我的java程序执行bat文件。路径在java中被硬编码。

我在jar中打包了bat文件。jar包含主类作为applet类。

我从jsp页面调用这个jar文件作为applet。

applet运行成功,但无法在init中运行bat文件。

如果我给出硬编码路径,那么它会执行......但不能从jar执行。

包装此类jar的任何提示,即在其中包含bat文件并能够将其作为动态applet运行?

1 个答案:

答案 0 :(得分:1)

你想在这里做两件不可能的事情:

  • 从applet执行批处理文件。这需要一个签名的applet和用户授予的权限,因为很明显,从web下载的applet启动一个外部程序非常非常不安全。
  • 执行不在文件系统上的批处理文件。 cmd.exe需要执行批处理文件的文件系统路径。它将无法在jar中找到仅存在于浏览器内存中的批处理文件。您需要将批处理文件写入文件系统(再次,需要签名的小程序并授予权限,因为让applet在本地硬盘驱动器上写入非常不安全),然后执行此批处理文件。

Applet在安全沙箱中运行。你需要了解它。阅读http://download.oracle.com/javase/tutorial/deployment/applet/security.html