web-dev-qa-db-ja.com

ビルドエラー:アーティファクトcom.Sun:tools:jar:1.6がありません

私が得るPlayNサンプルプロジェクトを構築しようとしています:

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

すべてのpom.xmlファイル。どうすれば解決できますか?

編集

プロファイルノードpom.xmlに追加しましたが、エラーが残ります。 tools.jarが実際に存在することを確認しましたが、存在しませんでした。そのため、tools.jarをlibフォルダーに追加しました。それでもエラーは残ります。

完全なpom.xml:

<?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>
13
MichaelS

このアーティファクトは常に「システム」の依存関係として処理されます。リポジトリに保存されることはありません。

詳細は http://maven.Apache.org/general.html#tools-jar-dependency を参照してください。

ツールjarがなく、Macを使用していない場合、要件がJDKであるときにJREを使用しようとしています。ファイルをコピーして、一方を他方に変えることはできません。

20
bmargulies

Eclipse設定のJREのリストからJREを削除し、そこにJDKがあっただけでも、Windows 7でEclipseを使用するときに同じ問題が発生しました。コマンドラインのMavenを使用しているか、Eclipseを使用しているかは質問に含まれていないため、Eclipseで修正された理由を共有したいと思います。

私がしなければならなかったのは、Eclipseを起動するために使用するショートカットのコマンドラインを変更して、-vm引数をそれに追加することでした。

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

もちろん、your JDKインストールのbinディレクトリを指すように調整します。これにより、Eclipse自体がJREではなくJDKを使用して実行され、tools.jarを適切に見つけることができます。

8
Kanmuri

Eclipse IDEでこのエラーが表示される理由はたくさんあります

  1. JDKではなくJREを指すEclipse
  2. JDKライブラリにtools.jarが含まれていない

このため、Preferences-> Java-> Installed JRE->(JDKを選択し、外部jarを編集して追加する-> tools.jarに移動する)を使用して、自分でtools.jarを追加できます。

  1. 他の理由としては、これが考えられます->プロジェクトの親Mavenリポジトリには、他のアーティファクトの下に同じ名前のjarがあります。

Eclipseでpom.xmlの-> Dependency Heirarchyビューからtools.jarを見つける必要があります。jarを見つけたら、そこに除外を追加できます。

のように->

<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>
4
Amit

私はUbuntuでテストしています。 Javaツールに精通していません。JDKをインストールすると問題が解決しました。

aptitude install openjdk-6-jdk
3
arhuaco

私にもこの問題があり、Java_pathには問題はありませんでしたが、問題は解決しませんでした。私にとってうまくいった修正は:

次のコマンドを実行します(Dfileはtools.jarを指します):

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"

次に、メインのpom.xmlに依存関係への参照を追加します。

<dependency>
    <groupId>com.Sun</groupId>
    <artifactId>tools</artifactId>
    <version>1.4.2</version>
</dependency>
2
Adrião Neves

POMに依存関係を追加する必要はありません。私はEclipseでこの問題を抱えていましたが、それはEclipseがJDKではなくJREで実行されていたことが原因でした。

同じ問題については、この質問を参照してください: Missing Artifact com.Sun:tools:jar

Eclipseが使用するvmを指定することで解決しました。また、EclipseプロジェクトのビルドパスがJREではなくJDKを使用していることも確認してください。

ビルドパスにJDKがあり、EclipseでJDKを明示的に設定するINIただし、パスのJavaがjreである場合、 jdk(windowsパス、またはlinux/mac同等)ではありません。

コマンドラインからこれを実行して、パス上のJavaが何であるかを確認します: WindowsマシンでJDKがインストールされている場所を見つけるにはどうすればよいですか?

JREの場合は、JDKに変更してIDEを再起動する必要があります。

2
Martin Cassidy

あなたを助けることができるいくつかのポインター:

  1. Tools.jarがpom.xmlのリポジトリURLに存在するかどうかを確認します。
  2. Pom.xmlの依存関係を確認してください。正しくない可能性があります。 http://search.maven.org/#browse%7C96611365 でjarアーティファクトは見つかりませんでした。

ありがとう。

1
Gaurav

これは私がそれを解決した方法です。以下の行をEclipse.iniファイルに貼り付けてください。

Java.exeまでの-vmパス(以下を参照)

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

それが役に立てば幸い。

0
rishabhdaim

私にとっての問題は、JDKをインストールせずにJREをインストールすることでした。 JREが動作するはずなので奇妙なことは知っていますが、動作しません。 JDKと同じバージョンで問題なく動作します。これはLinuxボックスでIDEはありません。

0
Denys

私は同じ問題を抱えていました、それはパスに複数のtools.jarファイルが原因でした。

しかし、問題はワークスペースのpom依存に固有でした。同じEclipseの他のワークスペースが正常に機能しているので、これを知った。

調査と解決のために私が取った手順:

1)プロジェクトpomファイルを開く

2)Dependency Hierarchies pomのセクション

3)右上隅のフィルターテキストボックスに、名前tools.jarを入力します

4)これにより、tools.jarファイルの依存関係の階層が表示されます。

5)右側にResolved Section、tools.jarファイルを選択し、jarファイルを右クリックします。

6)ファイルの除外を選択します。

次に、プロジェクトを再構築します。

0
Sonu

これがJboss Developer Studio 8.1.1を使用してこの問題を解決した方法です。

次の場所にあるjbdevstudio.iniファイルに追加します:D:\Users\bertrand\jbdevstudio\studio次の2行(-vmargsの前):

-vm
C:\Program Files\Java\jdk1.7.0_79\bin
0
Bertrand Pestre

これを解決するには、jdkインストールの/ libにあるtools.jarをEclipse JREに手動で追加します。

「ウィンドウ」>「設定」>「インストール済みのJRE」>「編集」>「外部jarを追加」>追加するtools.jarを選択

0
Damian Kober