簡體   English   中英

如何從Windows命令提示符修改Java控制面板選擇(對應於deployment.properties文件)?

[英]How to modify Java Control Panel selections (corresponding to deployment.properties file) from windows command prompt?

如何從Windows命令提示符修改Java控制面板選擇(對應於deployment.properties文件)? 具體來說,我正在"Custom Security Level Settings"窗口中查找可以對"Action for local applets"選項"Action for local applets"更改的命令( 單擊“自定義”設置旁邊的“設置...”按鈕“ “Java控制面板”中“安全”選項卡中的“安全級別”滑塊 ,從"Prompt user""Run without prompt" 這個設置的默認值隨着Java 7的更新11而改變,它干擾了我現在正在修復的自動測試程序的操作,當IE啟動java.exe時彈出一個安全警告對話框窗口,除非這個Java控件面板設置是先驗調整的。 此測試程序啟動IE以運行本地Java小程序,該小程序使用AWT編寫,並且不訪問任何網站。

注意,最近已經討論過這個問題 - 請參閱https://service.parachat.com/knowledgebase/273/I-see-a-Do-you-want-to-run-this-application-security-warning.html

對於我的任務,手動修改此Java控制面板設置是解決問題的最不可取的方法,因為我正在修復的程序是自動化測試套件的一部分,該套件部署在許多機器上,需要手動干預部署過程容易出錯。 我需要這些命令從Windows命令提示符批處理文件運行。

我發現這些安全級別選擇記錄在Java deployment.properties文件和2個Windows注冊表下的名稱以"Software\\JavaSoft\\DeploymentProperties".結尾的鍵下"Software\\JavaSoft\\DeploymentProperties". Oracle Java SE文檔“部署配置文件和屬性”中全面討論了deployment.properties文件,但沒有提到關於"Action for local applets"明顯內容,可能是因為這個屬性是最近添加的(?)當我調整Java安全級別時Java控制面板中的"Action for local applets" ,我看到deployment.properties文件以及DeploymentProperties注冊表項中反映的更改。

所以我可以做到以下幾點:

  1. 通過腳本調整deployment.properties文件(保存原始文件)
  2. 通過腳本啟動Java控制面板 - 我發現這會將deployment.properties文件中的更新復制到注冊表項DeploymentProperties
  3. 終止運行Java控制面板的javaw進程

    • 然后運行在IE中使用我的本地Java applet的程序
    • 然后將deployment.properties文件恢復為原始文件,通過腳本啟動Java控制面板,並終止運行Java控制面板的javaw進程。

我也嘗試過反之亦然 - 更新注冊表項 - 但文件不會更改,Java控制面板會將注冊表項的值設置恢復為與未修改的deployment.properties文件一致! 因此,更新注冊表項是一種錯誤的方法。

有一個更好的方法嗎? 我上面的3步解決方案(修改屬性)是它要完成的目標。 是否有可以修改給定部署屬性的Java命令行實用程序? 有沒有辦法通過applet標簽的屬性將這些部署屬性傳遞給JVM,只在給定的Java小程序中有效?

我使用的是Windows XP(32位和64位)和Windows 7(64位)以及Internet Explorer 7,8和9.最好有一個適用於Windows XP,Windows Vista的(簡單)解決方案,Windows 7和Windows 8。

只需創建自己的deployment.properties文件並將其放在* {User Application Data Folder} \\ LocalLow \\ Sun \\ Java \\ Deployment *位置。 或者編輯現有文件。 需要重啟互聯網瀏覽器

http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/properties.html中所述

根據以下文章將其設置為安裝:

http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/client-security.html

安裝時,WEB_JAVA_SECURITY_LEVEL參數具有以下效果:

WEB_JAVA_SECURITY_LEVEL=VH sets the security level to very high
WEB_JAVA_SECURITY_LEVEL=H sets the security level to high
WEB_JAVA_SECURITY_LEVEL=M sets the security level to medium
WEB_JAVA_SECURITY_LEVEL=L sets the security level to low

安裝JRE后,驗證Java控制面板中的安全級別設置。

我用java 7u25完成了測試

將deployment.properties放在c:\\ windows \\ sun \\ java \\ deployment \\ deployment.properties中

下次運行javaw或打開控制面板(也運行javaw)時,新設置將生效。

理論上,您應該能夠使用腳本刪除新的deployment.properties文件,立即運行您的應用程序。 關閉應用程序。 然后將原始deployment.properties文件復制回以還原安全設置。

我還想提一下,您可以通過將存儲受信任證書存儲區的位置更改為共享位置來擺脫“您是否要運行此應用程序”框。 將trusted.certs文件放在那里是通過在任何其他計算機上手動批准證書生成的。 請注意,額外的斜杠是必需的,因為冒號是保留字符,反斜杠是轉義字符。

#moves the user trusted certificates store to a shared location so we can pre-approve controls
deployment.user.security.trusted.certs=C\:\\Program Files\\Java\\jre7\\security\\trusted.certs

只需搜索“配置Java”,即可打開“Java控制面板”。 它在JRE文件夾中的文件。

或者,您可以轉到“控制面板”並單擊“Java”圖標。

在那里只需要降低或提高安全級別。

我希望我有所幫助。

祝你今天愉快。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM