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
Go to C:\Program Files\Java\jdk1.8.0_40\lib (jdk Version might be different for you)
Make sure tools.jar is present (otherwise download it)
Copy this path "C:\Program Files\Java\jdk1.8.0_40"
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>
Rebuild and run! BINGO!
'Nice programing' 카테고리의 다른 글
Iphone UIImageView에 애니메이션 GIF 이미지 추가 (0) | 2020.10.22 |
---|---|
InnerException (s)에서 모든 메시지를 받고 있습니까? (0) | 2020.10.22 |
값 파이썬으로 dict 정렬 (0) | 2020.10.22 |
AngularJS 리소스 약속 (0) | 2020.10.22 |
파이프 라인의 sh DSL 명령에서 stdout을 캡처 할 수 있습니까? (0) | 2020.10.22 |