2012-01-01 46 views
12

Đang cố gắng để xây dựng các dự án mẫu PlayN tôi nhận được:lỗi xây dựng: thiếu com.sun vật: công cụ: jar: 1,6

Missing artifact com.sun:tools:jar:1.6 pom.xml /playn-cute line 6 Maven Dependency Problem 

Trên mỗi pom.xml tập tin. Làm cách nào để giải quyết?

Sửa:

Tôi đã thêm profiles node đến pom.xml, nhưng lỗi vẫn còn. Tôi đã kiểm tra các tools.jar thực sự tồn tại, và nó đã không. Vì vậy, tôi đã thêm tools.jar vào thư mục lib. Và vẫn còn lỗi vẫn còn.

Các pom.xml đầy đủ:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <parent> 
     <groupId>com.googlecode.playn</groupId> 
     <artifactId>playn-project</artifactId> 
     <version>1.0.1</version> 
    </parent> 

    <artifactId>playn-cute</artifactId> 
    <name>PlayN Cute Metaproject</name> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>pom</packaging> 

    <properties> 
     <playn.version>1.0.1</playn.version> 
    </properties> 

    <modules> 
     <module>core</module> 
     <module>java</module> 
     <module>html</module> 
     <!-- <module>flash</module> --> 
     <module>android</module> 
    </modules> 

    <profiles> 
     <profile> 
      <id>default-tools.jar</id> 
      <activation> 
       <property> 
        <name>java.vendor</name> 
        <value>Sun Microsystems Inc.</value> 
       </property> 
      </activation> 
      <dependencies> 
       <dependency> 
        <groupId>com.sun</groupId> 
        <artifactId>tools</artifactId> 
        <version>1.6</version> 
        <scope>system</scope> 
        <systemPath>${java.home}/../lib/tools.jar</systemPath> 
       </dependency> 
      </dependencies> 
     </profile> 
    </profiles> 
</project> 
+0

gì OS bạn đang sử dụng? Đường dẫn chính xác cho lệnh javac của bạn là gì và đường dẫn chính xác mà bạn đã cài đặt tools.jar là gì? Bạn đã cài đặt Java SDK hay chỉ là Java JRE? Có vẻ như bạn có cái sau, nhưng bạn cần cái cũ. – samskivert

+0

Kiểm tra câu trả lời của tôi bằng nhiều hơn hoặc ít hơn cùng một [vấn đề] (http://stackoverflow.com/questions/6281674/what-is-wrong-with-my-maven-config): Tôi nghĩ rằng nó có liên quan đến đường dẫn được sử dụng cho tools.jar – Chris

+0

Giải pháp nhanh chóng đã giúp tôi là trỏ JRE đến thư mục có sẵn trong thư mục JDK. –

Trả lời

19

Tạo phẩm này luôn được xử lý dưới dạng phụ thuộc 'hệ thống'. Nó không bao giờ được lưu trữ trong một repo.

Xem http://maven.apache.org/general.html#tools-jar-dependency để biết chi tiết.

nếu không có công cụ jar và bạn không sử dụng máy Mac, bạn đang cố gắng sử dụng JRE khi yêu cầu là JDK. Bạn không thể biến cái này thành cái khác bằng cách sao chép tập tin.

+0

Cảm ơn bmargulies. Vui lòng xem chỉnh sửa câu hỏi của tôi, tôi đã thêm tiến trình khác. – MichaelS

1

Một số gợi ý có thể giúp bạn:

  1. Kiểm tra nếu tools.jar có mặt trong url repo trong pom.xml.
  2. Xác minh phụ thuộc trong tệp pom.xml. Nó có thể không chính xác. Tôi không tìm thấy bất kỳ đồ tạo tác jar nào ở số http://search.maven.org/#browse%7C96611365.

Cảm ơn.

-2

tôi đã phải thay đổi những gì bạn có:

<systemPath>${java.home}/../lib/tools.jar</systemPath> 

đến con đường rõ ràng, sử dụng JDK không JRE như bmargulies nói:

<systemPath>C:/Program Files/Java/jdk1.6.0_24/lib/tools.jar</systemPath> 

Hy vọng rằng sẽ giúp.

8

Tôi đã gặp vấn đề tương tự khi sử dụng Eclipse trong Windows 7, ngay cả khi tôi đã xóa JRE khỏi danh sách các JRE trong cài đặt Eclipse và chỉ có JDK ở đó. Câu hỏi của bạn không nói nếu bạn đang sử dụng Maven dòng lệnh, hoặc Eclipse, vì vậy tôi nghĩ tôi sẽ chia sẻ những gì đã sửa nó cho tôi trong Eclipse.

Những gì tôi đã kết thúc phải làm là thay đổi dòng lệnh cho các phím tắt tôi sử dụng để khởi động Eclipse để thêm đối số -vm để nó như vậy:

-vm "T:\Program Files\Java\jdk1.6.0_26\bin" 

Tất nhiên, bạn sẽ điều chỉnh đó để trỏ đến thư mục bin của cài đặt JDK JDK của bạn. Điều này làm cho bản thân Eclipse đang chạy bằng cách sử dụng JDK thay vì JRE, và sau đó nó có thể tìm thấy tools.jar đúng cách.

+1

Điều này làm việc cho tôi trong một dự án Maven trong nhật thực nhưng để có được hiệu ứng đầy đủ, tôi phải làm Maven -> Cập nhật dự án từ menu ngữ cảnh – mister270

3

Tôi đang thử nghiệm trên Ubuntu. Tôi không quen thuộc với các công cụ Java. Cài đặt JDK đã giải quyết vấn đề cho tôi.

aptitude install openjdk-6-jdk 
+0

yep giải quyết nó! – nightfly

-1

này Apple Developer article trạng thái:

tools.jar does not exist. Classes usually located here are instead included in classes.jar. Scripts that rely on the existence of tools.jar need to be rewritten accordingly.

0

Tôi cũng có vấn đề này, và mặc dù java_path là ok, vấn đề vẫn kiên trì. Việc sửa chữa mà làm việc đối với tôi là:

Chạy lệnh này (nơi Dfile trỏ tới tools.jar bạn):

mvn install:install-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.4.2 -Dpackaging=jar -Dfile="C:\Program Files\Java\jdk1.6.0_26\lib\tools.jar" 

Sau đó, trong pom.xml chính thêm tham chiếu đến sự phụ thuộc:

<dependency> 
    <groupId>com.sun</groupId> 
    <artifactId>tools</artifactId> 
    <version>1.4.2</version> 
</dependency> 
-2

Thêm phụ thuộc này vào tệp pom.xml.

Trong <systemPath> thuộc tính, bạn phải ghi đường dẫn lib jdk của mình.

<dependency> 
    <groupId>com.sun</groupId> 
    <artifactId>tools</artifactId> 
    <version>1.4.2</version> 
    <scope>system</scope> 
    <systemPath>C:/Program Files/Java/jdk1.6.0_30/lib/tools.jar</systemPath> 
</dependency> 
0

đây là cách tôi giải quyết. hãy dán các dòng dưới đây vào tệp eclipse.ini của bạn.

-vm con đường đến java.exe (như hình dưới đây)

-vm C:/Program Files/Java/jdk1.7.0_60/bin/java

hy vọng nó giúp.

1

Có nhiều lý do bạn có thể thấy lỗi này trên IDE eclipse của bạn

  1. Eclipse trỏ đến JRE hơn là JDK
  2. thư viện JDK không chứa tools.jar

Đối với điều này có lẽ bạn muốn tự thêm tools.jar qua Preferences -> Java -> JRE đã cài đặt -> (chọn JDK, chỉnh sửa và thêm các jars bên ngoài -> điều hướng đến tools.jar)

  1. Lý do khác có thể là điều này -> kho lưu trữ maven mẹ của dự án của bạn có một cái lọ có cùng tên theo một số thành phần khác.

Bạn cần phải xác định vị trí tools.jar qua -> phụ thuộc hệ thống cấp bậc xem cho pom.xml trong nhật thực và một khi bạn đã định vị được bình bạn có thể thêm một loại trừ có

như ->

<groupId>com.parent.project</groupId> 
    <artifactId>parent-project-dependencies-pom</artifactId> 
    <version>${dependencies.version}</version> 
     <exclusions> 
      <exclusion> 
       <groupId>com.sun</groupId> 
       <artifactId>tools</artifactId> 
      </exclusion> 
     </exclusions> 
2

Bạn không cần thêm phụ thuộc vào POM của mình. Tôi đã có vấn đề này trong nhật thực và đó là vì nhật thực đang chạy trong một JRE, không phải là một JDK.

Xem câu hỏi này ở đây cho cùng một vấn đề: Missing artifact com.sun:tools:jar

giải quyết bằng việc xác định những ứng dụng vm nhật thực. Ngoài ra kiểm tra đường dẫn xây dựng cho dự án eclipse của bạn là sử dụng một JDK, không phải là một JRE.

Có JDK trên đường dẫn xây dựng và thiết lập JDK trong nhật thực INI vẫn không hoạt động nếu java trên đường dẫn không phải là jdk (đường dẫn cửa sổ hoặc linux/mac equivilent).

Run này từ dòng lệnh để xem những gì java trên con đường của bạn là: How do I find where JDK is installed on my windows machine?

Nếu nó một JRE bạn nên thay đổi nó vào một JDK và khởi chạy lại IDE của bạn.

0

Đây là cách tôi giải quyết vấn đề này bằng Jboss Developer Studio 8.1.10:

Thêm vào jbdevstudio.ini tập tin của bạn nằm ở: D:\Users\bertrand\jbdevstudio\studio hai dòng sau (trước -vmargs):

-vm 
C:\Program Files\Java\jdk1.7.0_79\bin 
Các vấn đề liên quan