Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 缺少带有Eclipse和Maven的工具1.6.jar_Java_Eclipse_Maven_Tools.jar - Fatal编程技术网

Java 缺少带有Eclipse和Maven的工具1.6.jar

Java 缺少带有Eclipse和Maven的工具1.6.jar,java,eclipse,maven,tools.jar,Java,Eclipse,Maven,Tools.jar,我试图在Eclipse中使用Maven来运行一个项目,但下面出现了这个错误。tools.jar在JDK的lib文件夹中,但是tools-1.6.jar似乎不在我的计算机上。我正在使用JDK1.7,我的JAVA_HOME指向该文件夹(就像我的eclipse.ini)有人知道我可以从哪里获得该文件,或者我可能做错了什么吗 容器“Maven Dependencies”引用了不存在的库C:\Users\sejohnson\.m2\repository\com\sun\tools\1.6\tools-1.

我试图在Eclipse中使用Maven来运行一个项目,但下面出现了这个错误。
tools.jar
在JDK的
lib
文件夹中,但是
tools-1.6.jar
似乎不在我的计算机上。我正在使用JDK1.7,我的
JAVA_HOME
指向该文件夹(就像我的
eclipse.ini
)有人知道我可以从哪里获得该文件,或者我可能做错了什么吗


容器“Maven Dependencies”引用了不存在的库
C:\Users\sejohnson\.m2\repository\com\sun\tools\1.6\tools-1.6.jar

是否可以检查pom.xml中关于工具的依赖关系?一个好的源代码是mvnrepository.com,最后您的项目是否在eclipse之外编译?
mvn clean compile
在dos框或shell中工作吗?如果确实如此,您可能只需要使用
mvn eclipse:eclipse
重新生成eclipse项目文件,然后在eclipse中刷新您的项目任何公共存储库中都不提供
tools.jar
(如我所知)。如果您的
pom.xml
引用了本地存储库中的文件,则必须自行安装。您正在使用的pom.xml显然期望有人在可访问的Maven存储库中创建/安装tools-1.6.jar(例如,向公司的central Maven repository manager,例如)


如果这不适合您,请尝试更改依赖项,如Maven中所述。

tools-x.y.z.jar应由您的JDK提供

通过在eclipse.ini中添加-vm选项,确保eclipse由JDK而不是JRE运行

例如:

-vm
C:\Program Files\Java\jdk1.6.0_26\bin\javaw
-vm
后面的新行至关重要

应该就在上面

-vmargs

另请参见

可能是eclipse默认为32位版本的jre。如果将JAVA\u HOME设置为C:\Program Files\JAVA\jdk1.6.0\u 21\bin并运行32位版本的eclipse,那么最终将使用类似C:\Program Files(x86)\JAVA\jre6\bin的内容

一旦您修复了jdk问题 您需要在快捷方式的末尾传递它 -vm“C:\Program Files(x86)\Java\jdk1.6.0\U 31\bin”

或者修复你的JAVA_主页

其他建议是确保您的eclipse使用的是jdk而不是jre


如果您搜索tools.jar或在另一个项目中播放这个常见的maven依赖性问题,您会发现其他帖子。

除了上面提到的所有内容,这可能意味着诊断问题并最终提供正确解决方案的不同步骤,我会首先检查命令行(意思是在Eclipse运行时之外)。从命令行执行简单的“mvn干净安装”将为您提供以下信息:

  • 确定您是否正确设置了java可执行文件(因为它们是所有java应用程序使用的默认值,当然包括eclipse
  • 确定您的maven版本确实通过JDK配置充分解决了tools*.jar需求

  • 使用这两个事实,您可以排除Java安装和Maven安装级别的问题。然后,您可以继续让Eclipse使用与您可以在命令行中使用的设置相同的设置(Java JDK HOME,Maven HOME),正如上面的其他答案详细解释的那样(具体地说是和).

    我遇到了完全相同的问题,最后向pom文件添加了以下依赖项:

        <dependency>
            <groupId>jdk.tools</groupId>
            <artifactId>jdk.tools</artifactId>
            <version>${java.version}</version>
            <scope>system</scope>
            <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
        </dependency>
    
    
    jdk.tools
    jdk.tools
    ${java.version}
    系统
    ${JAVA_HOME}/lib/tools.jar
    
    这解决了问题,并使
    tools.jar
    可用于我的项目中的QueryDSL插件。希望这有帮助。注意,确保使用JDK版本而不是JRE


    编辑:最近注意到,当我在新的开发平台上移动时,问题再次出现,在我的例子中是Ubuntu 12.10。修复方法是将
    ${JAVA_HOME}/bin
    添加到
    $PATH

    中。有同样的问题,我必须在eclipse中手动添加tools.jar: 首选项->Java->安装的jre->选择jre->编辑->添加外部jar->查找并选择tools.jar->完成。
    现在它可以工作了。

    我也遇到了同样的问题,结果发现我的POM文件中的一个依赖项正在将我不需要的依赖项临时添加到jdk.tools jar中(这导致了Eclipse Maven插件的问题)。我的解决方案是将其从有问题的依赖项中排除,如下所示:

    <dependency>
      <groupId>it.unimi.di</groupId>
      <artifactId>mg4j-big</artifactId>
      <version>${mg4j-big.version}</version>
      <exclusions>
        <exclusion>
          <groupId>jdk.tools</groupId>
          <artifactId>jdk.tools</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    
    
    它,unimi.di
    mg4j大
    ${mg4j big.version}
    jdk.tools
    jdk.tools
    

    尝试查找正在通过传递方式导入jdk.tools jar的依赖项,并像我上面所做的那样进行排除。这应该可以解决您的问题。

    如果您有此构建问题,这里是另一个选项。我有相同的构建问题,我尝试了上述所有建议,但问题仍然存在。然后我注意到我的系统path的第一项是“C:\ProgramData\Oracle\Java\javapath”


    我不确定是哪个程序安装了它。当我检查文件夹时,它只有一些链接(快捷方式)。我从系统路径中删除了它,生成错误得到了解决。希望这能帮助其他人解决同样的问题。

    Echo@Gopal Ramakrishnan。我在env路径(windows操作系统)中也遇到了同样的问题。它已经解决了“C:\ProgramData\Oracle\Java\javapath”中包含Java.exe,因此在启动eclipse时会影响实际的jdk路径。只需删除它即可解决问题。我非常确定“C:\ProgramData\Oracle\Java\javapath”是由Oracle“sql开发人员”悄悄添加的…

    在我的例子中,原来我在pom.xml中有这种依赖关系

    <dependency>
                <groupId>com.sun</groupId>
                <artifactId>tools</artifactId>
                <version>1.6.0</version>
                <scope>system</scope>
                <systemPath>${env.JAVA_HOME}/lib/tools.jar</systemPath>
    </dependency>
    
    
    com.sun
    工具
    1.6.0
    系统
    ${env.JAVA_HOME}/lib/tools.jar
    
    然而,JAVA_HOME在Eclipse启动时被设置为JRE而不是JDK


    因此tools.jar实际上并不存在,因为这个原因

    your.pom?your.project和.classpath文件?我刚刚遇到了这个问题,并指出