Nice programing

Eclipse / Maven으로 Hadoop 구축-아티팩트 누락 jdk.tools:jdk.tools:jar:1.6

nicepro 2020. 10. 22. 22:48
반응형

Eclipse / Maven으로 Hadoop 구축-아티팩트 누락 jdk.tools:jdk.tools:jar:1.6


나는 eclipse 3.81, m2e 플러그인의 maven 프로젝트 에서 cdh4 maven repo 에서 cloudera의 org.apache.hadoop : hadoop-client : 2.0.0-cdh4.0.0 을 가져 오려고합니다 .win7에서 오라클의 jdk 1.7.0_05를 사용하여

<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-client</artifactId>
    <version>2.0.0-cdh4.0.0</version>
</dependency>

그러나 다음과 같은 오류가 발생합니다.

The container 'Maven Dependencies' references non existing library 'C:\Users\MyUserId\.m2\repository\jdk\tools\jdk.tools\1.6\jdk.tools-1.6.jar'

더 구체적으로, maven은 다음 아티팩트가 누락되었다고 말합니다.

Missing artifact jdk.tools:jdk.tools:jar:1.6

이것을 해결하는 방법?


jdk.tools:jdk.tools(또는 com.sun:tools사용자가 이름을 지정하는 모든 것)은 JDK와 함께 배포되는 JAR 파일입니다. 일반적으로 다음과 같이 maven 프로젝트에 추가합니다.

<dependency>
    <groupId>jdk.tools</groupId>
    <artifactId>jdk.tools</artifactId>
    <scope>system</scope>
    <systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>

종속성을 추가 하려면 Maven FAQ를 참조하십시오.tools.jar

또는 다음을 tools.jar사용하여 로컬 저장소에 수동으로 설치할 수 있습니다 .

mvn install:install-file -DgroupId=jdk.tools -DartifactId=jdk.tools -Dpackaging=jar -Dversion=1.6 -Dfile=tools.jar -DgeneratePom=true

다음을 사용하여 Cloudera가 한 것처럼 참조하십시오.

<dependency>
    <groupId>jdk.tools</groupId>
    <artifactId>jdk.tools</artifactId>
    <version>1.6</version>
</dependency>

문제는 Eclipse Maven 지원에 있으며 관련 질문은 여기에 있습니다 .

Eclipse에서 java.home변수는 빌드 JRE가 아니라 Eclipse를 시작하는 데 사용 된 JRE로 설정됩니다. 의 기본 시스템 JRE C:\Program Files에는 JDK tools.jar포함되어 있지 않으므로 찾을 수 없습니다.

이 문제를 해결하려면 JDK에서 JRE를 사용하여 다음과 같은 것을 추가하여 Eclipse를 시작해야합니다 eclipse.ini( 전에 -vmargs !).

-vm
C:/<your_path_to_jdk170>/jre/bin/server/jvm.dll

그런 다음 Maven 종속성 (Alt-F5)을 새로 고칩니다 (프로젝트를 새로 고치는 것만으로는 충분하지 않음).


npe 덕분에

<dependency>
    <groupId>jdk.tools</groupId>
    <artifactId>jdk.tools</artifactId>
    <version>1.7.0_05</version>
    <scope>system</scope>
    <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>

pom.xml에 트릭이 있습니다.


tools.jar없이 살 수 있고 연결된 종속성으로 만 포함 된 경우 문제가되는 프로젝트에서 제외 할 수 있습니다.

<dependency>
    <groupId>org.apache.ambari</groupId>
    <artifactId>ambari-metrics-common</artifactId>
    <version>2.1.0.0</version>
    <exclusions>
        <exclusion>
            <artifactId>jdk.tools</artifactId>
            <groupId>jdk.tools</groupId>
        </exclusion>
    </exclusions>
</dependency>

이것은 나를 위해 일했습니다.

dependency>
    <groupId>jdk.tools</groupId>
    <artifactId>jdk.tools</artifactId>
    <version>1.7.0_05</version>
    <scope>system</scope>
    <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>

MR 프로젝트에서 아래를 사용합니다.

<exclusions>
                <exclusion>
                    <artifactId>jdk.tools</artifactId>
                    <groupId>jdk.tools</groupId>
                </exclusion>
</exclusions>

maybe system install jdk package, but maybe some devel tools or plugin.

I find this problem under opensuse env. and I install java-1_6_0-openjdk-devel

the problem is disppeared..


I also faced this problem because I just only installed JRE not with JDK. So , adding dependency for jdk.tools can't fix for me because tools.jar was not exist at my ${JAVA_HOME}/lib/ directory.

Now I downloaded and installed JDK to fix it.


Change the set of installed JREs in your eclipse. Window > Preferences > Java > Installed JREs, change the location of jre to %JAVA_HOME%/jre, but not something like C:\Program Files\Java\jre7


If the jdk.tools is present in the .m2 repository. Still you get the error something like this:

missing artifact: jdk.tools.....c:.../jre/..

In the buildpath->configure build path-->Libraries.Just change JRE system library from JRE to JDK.


try :

mvn install:install-file -DgroupId=jdk.tools -DartifactId=jdk.tools -Dversion=1.6 -Dpackaging=jar -Dfile="C:\Program Files\Java\jdk\lib\tools.jar"

also check : http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html


Ok, if you are using Windows OS

  1. Go to C:\Program Files\Java\jdk1.8.0_40\lib (jdk Version might be different for you)

  2. Make sure tools.jar is present (otherwise download it)

  3. Copy this path "C:\Program Files\Java\jdk1.8.0_40"

  4. In pom.xml

    <dependency>
    <groupId>jdk.tools</groupId>
    <artifactId>jdk.tools</artifactId>
    <version>1.8.0_40</version>
    <scope>system</scope>
    <systemPath>C:/Program Files/Java/jdk1.8.0_40/lib/tools.jar</systemPath>
    </dependency>
    
  5. Rebuild and run! BINGO!

참고URL : https://stackoverflow.com/questions/11118070/buiding-hadoop-with-eclipse-maven-missing-artifact-jdk-toolsjdk-toolsjar1

반응형