[英]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%
,此外,我需要針對每個平台編寫腳本) 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.