說一些程序員給我一個可執行jar(來自Java代碼)以及使用的入口點。我希望在有限制的沙箱環境中從Java代碼運行此jar(以編程方式),不受網絡或文件系統訪問或數據庫訪問以及固定數量的CPU和內存的限制。也就是說,Java代碼不應該對運行在我的jvm上的其他程序產生任何副作用。如何在受限制的沙箱中運行java代碼(沒有網絡,文件系統訪問)
理想情況下,我想允許某些基於情況的訪問(例如,只有某個具有配額的目錄中的文件)。
說一些程序員給我一個可執行jar(來自Java代碼)以及使用的入口點。我希望在有限制的沙箱環境中從Java代碼運行此jar(以編程方式),不受網絡或文件系統訪問或數據庫訪問以及固定數量的CPU和內存的限制。也就是說,Java代碼不應該對運行在我的jvm上的其他程序產生任何副作用。如何在受限制的沙箱中運行java代碼(沒有網絡,文件系統訪問)
理想情況下,我想允許某些基於情況的訪問(例如,只有某個具有配額的目錄中的文件)。
可以使用策略文件控制環境 http://docs.oracle.com/javase/1.4.2/docs/guide/security/PolicyFiles.html#Examples
你可以運行然後運行你的罐子
java -Djava.security.manager -Djava.security.policy=/path/your_policy_file.policy -jar
所以有可能做到這一點:以完全訪問的方式運行我的程序,然後通過限制 – Jus12 2012-02-08 18:43:37
你讀過這個了嗎? http://stackoverflow.com/questions/2867747/create-java-sandbox-based-on-security-policies – PeterMmm 2012-02-08 11:36:30