如果應用程序中存在多個JAR版本如何查找JVM正在使用哪一個版本?如果應用程序中存在多個JAR版本如何找到Jvm正在使用哪一個版本
4
A
回答
2
JVM按照jar和目錄在類路徑中的順序尋找類。
對於應用程序服務器等要小心,因爲它們傾向於替換類加載器,在這種情況下可能會有所不同。
0
這是不可預測的。
避免在類路徑中使用多個版本的jar。如果您被應用程序服務器強制執行,它通常會提供一個配置來選擇捆綁應用程序和特定於應用程序的庫。
如果您需要更復雜的東西,請看OSGi - 它允許您在同一運行時使用多個版本。
2
如果可以,將-verbose
標誌添加到java啓動命令行中,這將打印到stdout加載哪些類以及來自哪個源。輸出如下:
[Loaded javax.xml.transform.stream.StreamResult from C:\Program Files\Java\jre6\lib\rt.jar]
如果將輸出重定向到文件中,則可以更輕鬆地解析或搜索所需的信息。
0
有點高的水平,我不知道你使用Spring,但如果你是 - 它有一個非常有用的工具類所及在這種情況下:
PathMatchingResourcePatternResolver查找資源(文件) - 相對於classpath/web app root/file system /等 如果您要求它查找找到您正在查找的類的文件,它將在所有類路徑條目中找到它。我使用這樣的(通常是在一些調試器的eval /表):
Resource[] resources = new PathMatchingResourcePatternResolver().getResources("classpath*:your/package/YourClassName.class");
**這不會告訴你哪個類是使用的代碼,但它可能會幫助你的情況下,準確找出問題你不確定課程來自哪裏。
相關問題
- 1. 如何找出正在使用哪個(版本的)函數?
- 2. 在哪裏存儲一個Rails應用程序的版本
- 3. 如何在servicemix中使用多個jar版本
- 4. 在應用程序中使用多個版本的jar會導致問題嗎?
- 5. 如何使用多個sdk版本創建iOS應用程序?
- 6. 如何獲取同一應用程序的多個版本以使用相同版本的程序集? c#
- 7. 有多少個JVM版本?
- 8. 我如何知道哪個應用程序版本正在被android替換?
- 9. 如何確定應用程序正在使用的TLS版本?
- 10. 如何在多個Python版本中使用一個源代碼?
- 11. 如何通過java程序找到jar的最新jar版本?
- 12. 在一個應用程序中使用不同版本的DLL
- 13. Facebook應用程序,如何使用本地版本的在線版本?
- 14. 版本控制多個版本的winform應用程序
- 15. 在Maven存儲庫中找到正確版本的正確JAR
- 16. 如何知道我正在使用哪個版本的CrafterCMS?
- 17. 如何確定我正在使用哪個版本的Android Studio?
- 18. 如何判斷正在使用哪個版本的SMB?
- 19. 如何知道哪個版本的EL正在使用?
- 20. 如何找到使用Mercurial的哪個版本的Python?
- 21. 如何找到使用哪個FitNesse版本
- 22. 如何找到rhohub使用哪個版本的ruby?
- 23. 檢查,如果應用程序使用Node.js的正確版本
- 24. 在WINDOWS中,如何找到Tomcat正在使用的Java版本?
- 25. 我如何知道哪個版本的mysql odbc驅動程序正在使用
- 26. 在一個Java應用程序中需要兩個不同版本的JAR
- 27. 如何安裝Qt的兩個版本並告訴應用程序使用哪個版本?
- 28. 針對不同iOS版本的多個版本作爲一個應用程序
- 29. 我應該在Spring 4.1.6中使用哪個正確的版本?
- 30. 如何在maven中使用兩個版本依賴版本?