问题
When I run "perform eclipse" in Roo I get:
roo> perform eclipse
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building bugzter
[INFO] task-segment: [eclipse:clean, eclipse:eclipse]
[INFO] ------------------------------------------------------------------------
[INFO] [eclipse:clean {execution: default-cli}]
[INFO] Deleting file: .project
[INFO] Deleting file: .classpath
[INFO] Deleting file: .wtpmodules
[INFO] Deleting file: .component
[INFO] Deleting file: org.eclipse.wst.common.component
[INFO] Deleting file: org.eclipse.wst.common.project.facet.core.xml
[INFO] Deleting file: org.eclipse.jdt.core.prefs
[INFO] Deleting file: org.eclipse.ajdt.ui.prefs
[INFO] Preparing eclipse:eclipse
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.
Missing:
----------
1) com.sun:tools:jar:1.4.2
Try downloading the file manually from the project website.
Then, install it using the command:
mvn install:install-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.4.2 -Dpackaging=jar -Dfile=/path/to/file
Alternatively, if you host your own repository you can deploy the file there:
mvn deploy:deploy-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.4.2 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
Path to dependency:
1) org.codehaus.mojo:aspectj-maven-plugin:maven-plugin:1.0
2) com.sun:tools:jar:1.4.2
----------
1 required artifact is missing.
for artifact:
org.codehaus.mojo:aspectj-maven-plugin:maven-plugin:1.0
from the specified remote repositories:
com.springsource.repository.bundles.release (http://repository.springsource.com/maven/bundles/release),
com.springsource.repository.bundles.external (http://repository.springsource.com/maven/bundles/external),
central (http://repo1.maven.org/maven2),
codehaus.org (http://repository.codehaus.org),
com.springsource.repository.bundles.milestone (http://repository.springsource.com/maven/bundles/milestone),
com.springsource.repository.bundles.snapshot (http://repository.springsource.com/maven/bundles/snapshot),
snapshots (http://snapshots.repository.codehaus.org)
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 seconds
[INFO] Finished at: Wed Jul 28 20:57:52 CEST 2010
[INFO] Final Memory: 30M/298M
[INFO] ------------------------------------------------------------------------
Tried downloaded the tools-1.4.2.jar and run mvn install:install-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.4.2 -Dpackaging=jar -Dfile=/path/to/file but it doesn't solve the problem.
Running ubuntu 10.04 and maven 2.2
Any suggestions?
回答1:
Repoint your system environment parameter JAVA_HOME to JDK (1.5+) directory instead of JRE.
回答2:
According to Spring Source Roo and missing com.sun:tools:jar:1.4.2:
If you are trying to get the latest version of SpringSource ROO working, with an x64 Java JDK, such as the latest JDK 1.6 update 20, there is unfortunately a missing tools.jar from the default
lib\
directory of the JDK (tut tut tut Sun/Oracle). This will prevent Roo from working and therefore prevent Maven compilation. You would probably see an error similar to this:Error message: Missing: ---------- 1) com.sun:tools:jar:1.4.2 Try downloading the file manually from the project website. Then, install it using the command: mvn install:install-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.4.2 -Dpackaging=jar -Dfile=/path/to/file Alternatively, if you host your own repository you can deploy the file there: mvn deploy:deploy-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.4.2 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id] ---------- 1 required artifact is missing.
To correct this error, install an additional x86 JDK, repoint the JAVA_HOME and the PATH to the new JDK and restart the mvn process
回答3:
i thought i had java_home set to jdk, but i guess in slackware both jre and jdk get installed in same folder. having both installed caused this problem. i uninstalled both, and reinstalled jdk (to be safe) and it fixed it.
回答4:
Add this dependecy in pom.xml file.
in the <systemPath>
property you have to write your JDK lib path.
<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>
回答5:
I also had a similar issue and fixed int the following way.
Go to lib directory of JDK installed path in command prompt. Execute the below command to install to install tools.jar. $mvn install:install-file -DgroupId=sun.jdk -DartifactId=tools -Dpackaging=jar -Dversion=1.6 -Dfile=tools.jar
http://parameshk.blogspot.in
来源:https://stackoverflow.com/questions/3356716/com-suntoolsjar1-4-2-missing-when-running-perform-eclipse-in-roo