Khi cố gắng để biên dịch một taglet Javadoc, đòi hỏi $JAVA_HOME/lib/tools.jar
, tôi phát hiện ra rằng kiến (phiên bản 1.8.4) đặt java.home
-$JAVA_HOME/jre
thay vì chỉ $JAVA_HOME
. Tôi xác nhận này thusly:
<echo>${java.home}</echo>
<echo>${env.JAVA_HOME}</echo>
[echo] /usr/java/jdk1.7.0_21/jre
[echo] /usr/java/jdk1.7.0_21
Theo ant -diagnostics
, không có bất cứ tài sản như một jdk.home
. Vì vậy, để sử dụng tools.jar
tôi phải làm:
<classpath location="${java.home}/../lib/tools.jar"/>
Vì vậy, tôi có hai câu hỏi:
1) Có điều gì sai với thiết lập của tôi về kiến đó là gây java.home
để trỏ đến JRE thay cho JDK?
2) Nếu điều này là cách kiến được cho là hoạt động, đang sử dụng ..
trong đường dẫn lớp của tôi theo cách tôi phải làm việc? Hoặc tôi có nên làm ${env.JAVA_HOME}/lib/tools.jar
? Hoặc cái gì khác hoàn toàn?
kiến là tập lệnh hệ vỏ. Hãy thử chạy nó với trình gỡ lỗi vỏ trên (+ x). Đảm bảo rằng java được tìm thấy bởi ant là java thực (không phải bất kỳ liên kết mềm) – Jayan
1) Tôi đã chỉnh sửa kịch bản lệnh shell để đặt 'echo $ JAVA_HOME' ngay trước dòng cuối cùng, và tại thời điểm đó không thay đổi. 2) Tôi đã thử đổi tên thư mục JDK và đặt một liên kết tượng trưng đến tên mới ở vị trí của nó. '$ {java.home}' thay đổi để phản ánh thư mục được đổi tên, vì vậy nó sử dụng đúng thư mục. –
Xin lỗi tôi đã không thấy điều này cho đến bây giờ! – ingyhere