簡體   English   中英

如何將deploy.jar添加到類路徑?

[英]How to add deploy.jar to classpath?

我面臨的問題是:我需要在運行時(從Java動態地)將${java.home}/lib/deploy.jar JAR文件添加到類路徑中。

  • 由於存在此錯誤因此使用Thread#setContextClassLoader(ClassLoader)此處提到)的解決方案不起作用(如果有人可以解釋真正的問題–歡迎您)。
  • 使用-Xbootclasspath/a:"%JAVA_HOME%/jre/lib/deploy.jar"的解決方案對我來說效果不佳,因為我想將“純可執行jar”作為可交付項:請不要包裝腳本(超過%JAVA_HOME%例如,可能無法在Windows的用戶環境中定義%JAVA_HOME% ,此外,我需要針對每個平台編寫腳本)
  • 僅當我在Windows平台上進行構建時,將deploy.jar文件合並到我的可交付成果中的解決方案才有效。 不幸的是,當交付物在Linux上運行的構建服務器上生成時,我得到了依賴Linux的JAR,該JAR無法在Windows上執行–失敗,並顯示以下跟蹤信息。

我已經閱讀了Java Launcher如何查找類Java編程動力學的文章:Java類和類加載文章,但是我沒有其他想法,如何正確處理這種情況。

任何建議或解決方案都非常歡迎。

跟蹤:

java.lang.NoClassDefFoundError: Could not initialize class com.sun.deploy.config.Config
    at com.sun.deploy.net.proxy.UserDefinedProxyConfig.getBrowserProxyInfo(UserDefinedProxyConfig.java:43)
    at com.sun.deploy.net.proxy.DynamicProxyManager.reset(DynamicProxyManager.java:235)
    at com.sun.deploy.net.proxy.DeployProxySelector.reset(DeployProxySelector.java:59)
...
java.lang.NullPointerException
    at com.sun.deploy.net.proxy.DynamicProxyManager.getProxyList(DynamicProxyManager.java:63)
    at com.sun.deploy.net.proxy.DeployProxySelector.select(DeployProxySelector.java:166)

引導類路徑沒有類加載器,因此無法動態添加。 但是,您可以在MANIFEST.MF中添加Class-Path:deploy.jar屬性,並要求您的JAR與-Xbootclasspath / a:myjar.jar一起運行。 如果deploy.jar將位於同一目錄中,則還將在引導類路徑中加載它。

暫無
暫無

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

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