2011-11-01 104 views
0

我正在通過我的java程序執行bat文件。該路徑在java中被硬編碼。小程序執行無法執行批處理文件打包在可執行文件裏面

我在jar.and中包含bat文件,並且jar包含主類作爲applet類。

我從jsp頁面調用這個jar文件作爲applet。

小程序運行成功,但無法在init中運行bat文件。

如果我給硬編碼路徑,然後它執行...但不能執行採取從罐子。

包裝這種jar的任何提示,例如裏面有bat文件並且能夠將其作爲動態applet運行?

回答

1

你正在努力使這裏有兩個不可能的事情:

  • 從applet執行批處理文件。這需要一個簽名的applet和用戶授予的權限,因爲很顯然,從web上下載的applet啓動一個外部程序是非常非常不安全的。
  • 執行不在文件系統上的批處理文件。 cmd.exe需要執行批處理文件的文件系統路徑。它將無法在僅存在於瀏覽器內存中的jar中查找批處理文件。您需要將批處理文件寫入文件系統(這又一次需要簽名的小程序並授予權限,因爲讓本地硬盤上的小程序寫入非常不安全),然後執行此批處理文件。

Applets在安全沙箱中運行。你需要了解它。閱讀http://download.oracle.com/javase/tutorial/deployment/applet/security.html