簡體   English   中英

Java WebStart-第3方jar-清單

[英]Java WebStart - 3rd party jar - manifest

我正在嘗試使用Netbeans IDE運行Java WebStart應用程序。 我已經使用有效的Comodo證書對應用程序進行了簽名。 當我運行jar時,它會彈出一個帶有jar及其證書詳細信息的彈出窗口。 但是,它隨后顯示另一個帶有錯誤的彈出窗口。 我在Java Web Start清單問題中看到了與該問題相同的帖子,其中提供了以下解決方案:

我解決了

在jnlpcomponent1.jnlp中,我看到sqljdbc4.jar已被Microsoft簽名。

當我查看其manifest.mf時,它沒有屬性Permissions:all-permissions。 因此,我從sqljdbc4.jar中刪除了所有清單文件,並放了一個空文件(還刪除了MSFTSIG.SF和MSFTSIG.RSA)。 現在使用我的簽名和權限再次構建應用程序:清單文件中的所有權限,並且像超級按鈕一樣工作。

在我的應用程序中,“ jnlpcomponent1.jnlp ”文件包含四個已經簽名的3rd party jar 我的問題是如何解壓縮這些jar的包裝 (用空白的清單替換Manifest並刪除.SF和.DSA文件)並重新打包

有沒有辦法手動執行此操作(例如,在命令提示符下 )? 我可以手動打開這4個罐子的包裝,編輯它們的清單 ,刪除.SF和.DSA文件並重新包裝嗎? 請告訴我。 謝謝。

更新:我已經設法解決了今天的問題。 謝謝。

我知道這並不是您在netbeans中所做的完全一樣,但是,如果您使用構建系統(例如gradle)來管理webstart的所有內容,則可以在build.gradle中將該行添加到jar任務中看起來像:

jar{
    from {configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }

    manifest{
        attributes("Main-Class": mainClassName);
    }
}

它將每個依賴項(第三方jar)解壓縮(解壓縮),然后將其連同所有清單/ etc文件一起打包(解壓縮)到單個jar中。 有一個適用於netbeans的gradle插件(我們在工作中取得了巨大的成功),但是顯然需要花費一些工作來轉換項目,這是需要牢記的。 我希望這會有所幫助。

暫無
暫無

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

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