回答
可能不是最簡單的方法,但您可以查看該進程已打開的文件並從中確定。
如果您使用的是Windows,則可以使用Process Explorer查看該進程在任何給定時間打開的文件,或Process Monitor在運行時觀察文件系統訪問。會有很多噪音,但你可以從那裏弄清楚。
如果你在Mac上,我認爲內置的活動監視器可以給你一個打開的文件列表。可悲的是,我不知道你在Linux中使用的命令。
lsof -p PID - 將在Linux中列出針對特定進程的文件 – Cogsy 2009-06-04 13:43:37
用-verbose:class
參數調用java
可執行文件。這將產生象輸出:
[加載從文件org.apache.log4j.helpers.ThreadLocalMap:/ C:/.../ 1.2.14/log4j的-1.2.14.jar]
[加載從文件org.apache.commons.cli.Option:/ C:/.../公地-CLI-1.2.jar]
如果它爲每個加載的單個類輸出,則可能需要將其輸出爲grep:java -verbose:class ... | grep'callme.jar';應該減少噪音 – Herms 2009-06-04 13:43:57
嘗試這段代碼:
//Get the System Classloader
ClassLoader sysClassLoader = ClassLoader.getSystemClassLoader();
//Get the URLs
URL[] urls = ((URLClassLoader)sysClassLoader).getURLs();
System.out.println("CURRENT CLASSPATH :");
for(int i=0; i< urls.length; i++){
System.out.println(urls[i].getFile());
}
System.out.println("END OF CLASSPATH");
System.getProperty("java.class.path");
這個答案看似正確 - 因爲JVM(或者至少Sun的?)將從包含它的類路徑上的第一個位置加載類;按照類路徑的順序 – 2009-06-04 13:55:20
這隻有在您可以控制代碼時纔有效。這可能就是這種情況,但我不確定。 – Herms 2009-06-04 13:58:35
知道代碼是否來回並不那麼容易正在使用的JAR只有在你的代碼調用該jar被執行時纔是可能的。被覆蓋)。直到你的代碼沒有被覆蓋,很難知道你的應用程序類路徑上的jar是否被使用。
爲此,您可能需要正確的junit測試用例,它可以覆蓋整個代碼,然後您可以使用Class Dependency Analyzer工具。
這是一種嘗試看東西。您可以嘗試逐個刪除JAR並檢查應用程序是否有效,但junit案例是進行此檢查的最佳選擇。
- 1. 如何分析Jar文件?
- 2. Maven/Java-如何指定要使用哪個jar文件
- 3. Java:如何知道給定類名使用哪個jar文件?
- 4. 如何知道java程序需要運行哪些jar文件?
- 5. 如何在一個java進程中調用我的jar文件
- 6. 使用聲吶分析jar文件
- 7. 如何使用TextMate將庫從JAR文件導入Java程序
- 8. Java - 如何使程序在內部運行jar文件
- 9. 如何確定在應用程序中使用哪些JAR
- 10. 如何確定哪個程序在VB 2005中使用文件?
- 11. 如何更改jar文件在java Web應用程序中使用的路徑
- 12. 如何在Java應用程序中使用jython獨立jar文件
- 13. 如何在命令中使用java程序中的jar文件promt?
- 14. 當我JAR程序時,Java將資源文件放在哪裏?
- 15. 如何使用bash在jar中執行多個java類文件
- 16. 如何在Java程序中獲取並運行jar文件?
- 17. 從Java程序分析C++文件
- 18. 如何在Hadoop程序中使用外部Jar文件
- 19. 以編程方式分析jar文件
- 20. java類文件到jar應用程序
- 21. 如何使用外部java jar文件創建jar文件
- 22. 確定使用哪個.jar文件
- 23. 如何運行Java程序,包括一個.jar文件
- 24. 如何使Android應用程序成爲可執行文件,如Java中的JAR?
- 25. 如何找出在jar文件中使用哪些JSR?
- 26. 在.NET中使用Java JAR文件
- 27. 在java代碼中使用Jar文件
- 28. Sonarlint CLI:如何使用sonarlint CLI分析多個java文件
- 29. 使用JAR文件中的類的Java程序
- 30. 如何從java中的另一個應用程序運行jar文件
你想從應用程序內部分析,還是從應用程序外部進行分析? – rich 2009-06-04 13:52:06
external.otherwise我可以檢查類路徑。 – omg 2009-06-04 16:58:45