假設我在構建項目時在類路徑上有兩個jar文件 - myJarFile.jar和myJarFileOld.jar。它們包含相同的包和相同的類,但myJarFileOld.jar包含舊的實現,這會導致編譯失敗。我不是要求解決這個錯誤,我知道我應該刪除myJarFileOld.jar來編譯工作。不過,我想知道,什麼機制決定在編譯期間使用哪個jar文件的類,當兩個jar文件都存在時?編譯期間使用哪個jar文件?
0
A
回答
0
當需要加載一個類時,將按順序掃描classpath中的所有jar文件。一旦找到課程,它就會被加載。
0
不完全確定,但我相信類路徑外觀的順序是決定的。如果它在第一個jar中找到,那麼它不是在另一箇中搜索。不過,我很確定類加載器會在開始時加載這兩個jar,並且你會得到一些關於重複代碼的錯誤。不過我不確定,這可能與運行時環境有關。
0
你必須在Eclipse此功能,您可以指定您希望從項目classpath.Go執行下一次
Project->Select Properties->Select Build Path from left pane-> go to Order and Export Tab->Select Top or Bottom button-> click ok.
罐子的順序生成項目從罐子類路徑將按照您指定的順序挑選。
相關問題
- 1. 在編譯保存期間VS2015使用哪種Typescript編譯器
- 2. 重新編譯jar文件
- 3. weblogic 11g使用哪個編譯器(編譯器位置)編譯JSP文件?
- 4. 編譯依賴於一個jar文件
- 5. 如何反編譯多個JAR文件
- 6. 確定使用哪個.jar文件
- 7. 在Android Studio中進行編程期間從哪個依賴jar文件導入?
- 8. 檢查「make」期間編譯的文件
- 9. maven - 在編譯期間複製文件
- 10. 編譯期間未找到文件
- 11. 使用.java文件編譯文件夾和Jar它
- 12. 在編譯期間編譯
- 13. 獲取JAR編譯時間
- 14. 哪個編譯器編譯這個文件?
- 15. 在一個jar文件中編譯時在cmd中運行一個jar文件
- 16. Nanoc - 在編譯/自動編譯期間跳過文件
- 17. maven2在編譯期間在特定文件夾中使用libs
- 18. 編譯時使用Google closure編譯器添加文件日期
- 19. 編譯內核時編譯器使用哪個頭文件路徑?
- 20. 編譯期間未使用的參數?
- 21. 使用cmake編譯日期和時間
- 22. 包括包含.jar文件編譯
- 23. 如何反編譯.jar文件?
- 24. .jar文件反編譯盜取代碼
- 25. Scalac編譯器將jar源文件
- 26. Java編譯器不創建.jar文件
- 27. Gradle在jar文件中編譯.java?
- 28. 無法運行編譯的jar文件
- 29. 程序反編譯jar或類文件
- 30. 如何使用批處理文件編譯java文件時包含jar文件
不錯的功能,謝謝,但不適用於我。我們使用ANT進行編譯,類路徑由更多源組成,其中一個源是項目中包含的整個lib目錄。我只是想知道彙編的細節,我希望在這裏得到一些信息。 – Michal 2014-11-03 13:18:33