1
我想在JVM啓動時加載額外的類。具體來說,應該在加載所有核心庫之後加載類(至少在rt.jar
和lib/ext
之後)。Java - 在JVM啓動時加載額外的類
該類未被引用。它包含一個靜態塊,用於設置JVM範圍的代理,我們希望所有的URL連接都可以使用。
我試過了-Xbootclasspath/a
,-Xbootclasspath/p
選項。隨着-verbose:class
被添加到JVM_OPTS
以及由-Xbootclasspath
變體創建的加載/打開輸出表明所有核心庫都被「加載」,而我的JAR只是「打開」。
在所有核心類加載完畢後,是否有強制加載類的方法 - 或者還是更好地加載JAR中的所有類?
在你的回答中,當你寫下「自定義類加載進入這個靜態塊。」你的意思是你只是引用靜態類來加載?還是你做了其他事情?既然現在你提出這個解決方案已經兩年了,你有沒有找到更好的方法來做到這一點? – 2015-05-16 15:07:24
@AndrewBate我修改了我的描述(這是錯誤的)和代碼,雖然我現在無法測試,所以請告訴我,如果你這樣做。正如你所提到的,我很久以前就爲一個特定的用例寫了這篇文章,並且從那以後沒有重新嘗試相同的目標,所以沒有更好的選擇建議。我甚至不知道非靜態初始化是必要的,我原以爲你可以簡單地在構造函數中調用'loadClass' ......但是再一次,我希望以很好的理由解決這個問題:) – KomodoDave 2015-05-18 07:53:12