Tôi đang cố gắng để hiểu được những tập tin classpath Eclipse, đặc biệt, tôi muốn biết điều này:Hiểu tờ khai classpath Eclipse
Làm thế nào là JRE sử dụng nó (tức là JVM đọc file xml này trực tiếp, hoặc là eclipse bằng cách nào đó cho nó vào trình biên dịch nội bộ của nó)?
Các mục phức tạp (như đường dẫn ivy bên dưới) được phân tích cú pháp và được tích hợp vào JVM ClassLoader khi tôi chạy các lớp từ IDE của mình như thế nào?
Bối cảnh: Tôi có một lỗi lạ mà là nhật thực toàn phần được sử dụng phiên bản "sai" của một lớp, trong khi ivy của tôi/ant build đang sử dụng phiên bản chính xác, và vì vậy tôi muốn công cụ Eclipse để tốt hơn bắt chước trình nạp lớp được sử dụng trong bản dựng thuần túy của tôi. Để làm điều này, tôi nghĩ tôi sẽ phải xem xét các tệp dự án/classpath của Eclipse.
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="test"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="conf"/>
<classpathentry kind="con" path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?ivyXmlPath=ivy.xml&confs=*"/>
<classpathentry kind="output" path="build"/>
</classpath>
Tôi không tin JVM biết bất cứ điều gì về tệp classpath Eclipse. Bạn có thể gõ lên một lớp thử nghiệm với một khối chính mà chỉ cần in ra System.getProperty ("java.class.path") - nó sẽ cho bạn thấy rằng tất cả các tham chiếu phức tạp của bạn chỉ được giải quyết cho các vị trí tệp jar trên đĩa, sau đó được đưa vào một classpath JRE bình thường. Nếu bạn có một lỗi tối nghĩa với các công cụ Ivy thì bạn có thể muốn nâng cấp nó với các nhà phát triển của plugin Ivy Eclipse? Chúc may mắn giải quyết sự cố của bạn – davidfrancis