我一直在关注入门教程,但在使用 Maven 导入 playn 项目后卡住了。我正在使用在 64 位 Windows 7 上运行的 Eclipse Indigo。
所有导入的项目都有同样的错误:
Missing Artifact com.sun:tools:jar in all the pom.xml files.
在搜索论坛几个小时后,我尝试了:
安装最新的 Java 1.6.029 更改我的 JAVA_HOME
环境变量指向 \program files\Java\jdk1.6_029
更改我的 Eclipse Java 首选项以使用 JRE jdk1.6_029
我真的很想尝试 playn,但为什么有一些帖子我似乎无法找到解决方案的共识答案。有人说 Sun 从 64 位 jdk 中删除了一些东西,其他人说你必须编辑你的 xml 文件,很多人说你已经改变了你的 JAVA_HOME
,还有人说你必须为 Eclipse 改变你的 VM 选项。
任何有关清理此问题的帮助将不胜感激,并且可能对许多人有用,因为我在这里没有特别奇怪的设置。
(编辑)这是第一个项目中的 pom.xml。 Eclipse 在以下行中标记错误:
<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.1-SNAPSHOT</version>
</parent>
<artifactId>playn-android</artifactId>
<name>PlayN Android</name>
<packaging>jar</packaging>
<repositories>
</repositories>
<dependencies>
<dependency>
<groupId>com.googlecode.playn</groupId>
<artifactId>playn-core</artifactId>
<version>${project.version}</version>
</dependency>
<!-- needed because Android uses the same JSON code as playn-java;
that should be factored into a library shared by both backends -->
<dependency>
<groupId>com.googlecode.playn</groupId>
<artifactId>playn-java</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>${android.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
</build>
</project>
原文由 boldinventions 发布,翻译遵循 CC BY-SA 4.0 许可协议
我刚刚发布了关于同一问题的 这个 问题以及我如何解决它,但我也会在这里粘贴(并扩展)它,因为它看起来更相关。
在 Windows 7 中使用 Eclipse 时,我遇到了同样的问题,即使我从 Eclipse 设置中的 JRE 列表中删除了 JRE,而 JDK 也在那里。
我最终不得不做的(正如你在问题中提到的那样)是修改我用来启动 Eclipse 的快捷方式的命令行,以便向它添加 -vm 参数,如下所示:
当然, 您 可以将其调整为指向 JDK 安装的 bin 目录。这样做会导致 Eclipse 本身使用 JDK 而不是 JRE 运行,然后它能够正确找到
tools.jar
。我相信这与 Eclipse 在未指定 JRE 时如何找到其默认 JRE 有关。我猜它倾向于选择 JRE 而不是 JDK(为什么,我不知道)并选择它找到的第一个兼容的 JRE。如果它像 Vladiat0r 的回答所建议的那样脱离 Windows 注册表项,它会首先查找
HKLM\Software\JavaSoft\Java Runtime Environment
键而不是HKLM\Software\JavaSoft\Java Development Kit
键。