Xin chào tất cả Tôi đang viết một số phần mềm cho phép người dùng tạo các lớp Java của riêng họ để sử dụng cụ thể trong gói phần mềm của tôi. Rõ ràng, phần mềm của tôi sẽ cần để có thể gọi một trình biên dịch Java để biên dịch các lớp do người dùng tạo ra để sử dụng trong chương trình của tôi. Tuy nhiên, tôi không muốn yêu cầu người dùng tải xuống và cài đặt toàn bộ JDK để họ có thể truy cập trình biên dịch Java javac. Tôi hiểu rằng trong Jave 6 có một API trình biên dịch Java mới nhưng ngay cả khi đó, những người dùng chỉ có JRE và không phải JDK sẽ nhận được một đối tượng null khi họ cố gắng khởi tạo công cụ trình biên dịch Java.Sử dụng Java Compiler API mà không cần cài đặt JDK
Vì vậy, cách tốt nhất để cho phép chương trình của tôi biên dịch các lớp Java trong khi yêu cầu người dùng cuối chỉ cài đặt JRE trên máy của họ là gì? Nếu điều này là không thể, tập hợp thư viện/tệp jar tối thiểu tôi sẽ cần cài đặt trên máy người dùng là gì?
Tôi cho rằng một khả năng khác có thể là sử dụng JWS (javaws) để khởi chạy ứng dụng trên web. Trong trường hợp này, có thể cho phần mềm của tôi không yêu cầu JDK (chủ yếu là tools.jar tôi nghĩ) không? Tôi sẽ bằng cách nào đó phải đóng gói tools.jar với phần mềm của tôi?
java -jar ecj-3.6.2.jar -d gaevfs.bin \ gaevfs.src \ com \ newatlanta \ commons \ vfs \ provider \ gae \ GaeFileObject.java -cp D: \ ProgXP \ jre6 \ lib \ rt D: \ WorkSpace \ diyism.com.war \ WEB-INF \ lib \ appengine-api-1.0-sdk-1.5.5.jar; D: \ WorkSpace \ diyism.com.war \ WEB-INF \ lib \ commons-vfs-2.0-SNAPSHOT.jar; D: \ WorkSpace \ diyism.com.war \ WEB-INF \ lib \ gaevfs-0.3.jar; D: \ WorkSpace \ diyism.com.war \ WEB-INF \ lib \ commons-logging-1.1.1.jar – diyism