Tôi muốn đặt JDK tools.jar làm phụ thuộc biên dịch. Tôi tìm thấy một số ví dụ mà chỉ sử dụng systemPath tài sản như sau:JDK tools.jar là phụ thuộc maven
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
Vấn đề là con đường là không đúng cho Mac Os X (tuy nhiên nó là chính xác cho Windows và Linux). Đối với nó, đường dẫn chính xác là $ {java.home} /../ Lớp học/lớp học.jar.
Tôi đang tìm cách để xác định thuộc tính maven sao cho nếu hệ thống được phát hiện là Mac Os X, giá trị được đặt thành $ {java.home} /../ Lớp học/classes.jar, nếu không, nó được đặt là thành $ {java.home} /../ lib/tools.jar (giống như có thể thực hiện với ANT). Có ai đó có ý tưởng không?
Tôi đang chạy OS X 10.7 (Lion) và điều này làm việc cho tôi, ngoại trừ những điều buồn cười là tôi đã có một hồ sơ cá nhân * nix cho các hộp linux ( unix ). Với cả hai hồ sơ trong đó, nó đã bỏ qua tiểu sử của tôi cho mac . Vì vậy, tôi có thể thay đổi đường dẫn cho mục nhập * nix hoặc tôi đã phải nhận xét tiểu sử của tiểu sử đó để hồ sơ của tôi hiển thị mac –
Nếu bạn cần hỗ trợ cả Apple Java 6 ('Lớp/lớp học. jar') và Oracle Java 7 ('lib/tools.jar') trên OS X, điều này sẽ không hoạt động, nhưng câu trả lời của @ Laurent sẽ. –
http://stackoverflow.com/a/29585979 Có vẻ là một câu trả lời tốt hơn cho JDK 1.7, JDK 1.8 và El Capitan cho tôi. –