【eclipse】解决:eclipse或STS运行maven工程出现Missing artifact jdk.tools:jdk.tools:jar:1.7问题

【eclipse】解决:eclipse或STS运行maven工程出现Missing artifact jdk.tools:jdk.tools:jar:1.7问题



最近项目中使用到大数据平台,代码中应用了hbase-client.0.98.6-hadoop2.jar包,该包中引用了jdk.tools.1.7,所以导致eclipse中pom.xml老是提示Missing artifact jdk.tools:jdk.tools:jar:1.7。从网上找了一下原因大多都说是工程maven找不到系统内的jdk1.7,根本原因是没有指定javaw.exe的的位置导致的,具体解决方法有三种,这里我偏向第一种,因为第二和第三种都改改动pom.xml文件,这样并不好,因为我们再开发中工程代码有多个人共同开发,你改动pom文件可能会影响别人,所以pom尽量有一个人管理,尽量少带动别人的代码。

注意 在使用下面三种方法之前先检查一下eclipse或STS中的JDK路径配置是否正确:

首先,通过正常运行eclipse或STS,打开window-->preferences-->java-->installed jres 页面的窗口

一定要确保这个JDK路径是你本机的JDK路径,而不是你本机外的JRE路径,因为本人再装jdk的时候,同时装了一个jre,我打开STS 的时候默认jdk是我的jre路径,而非我的jdk路径

 

如果上面的检查配置还是不行,则采用下面是三种解决方法解决。

方法一:修改eclipse或STS启动配置

      找到eclipse或STS的安装路径,在安装路径下找到eclipse.ini或STS.ini,将其文件打开,在文件中找到“-vmargs”,在“-vmargs”之前添加下面代码


、修改 eclipse.exe 目录下的 eclipse.ini,加入
-vm %JAVA_HOME%\bin\javaw.exe

     其中 D:\tools\java\jdk1.7 替换成自己的JAVA_HOME路径记录。如图:


     修改之后重启eclipse或STS即可

方法二:直接在pom.xml中加上一个依赖项目

    在pom文件中添加下面配置

复制代码
<dependency>  
    <groupId>jdk.tools</groupId>  
    <artifactId>jdk.tools</artifactId>  
    <version>1.7</version>  
    <scope>system</scope>  
    <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>  
</dependency>  
复制代码

方法三:在pom文件的plugins中指定jdk

    在maven工程的pom文件中添加如下配置

复制代码
<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.7</source>
            <target>1.7</target>
        </configuration>
    </plugin>
</plugins>

Missing artifact jdk.tools:jdk.tools:jar:1.8

01-10

环境:win10 jdk1.8rnrn![图片说明](https://img-ask.csdn.net/upload/201901/10/1547089206_936456.jpg)rn这个是eclipse里报的错!我想解决这个问题rn**首先说明:我要解决的方法并不是要你告诉我在pom.xml文件里加依赖**,rn因为我是在编译别人的代码时出现的这个问题,已确定代码无问题且无法修改rnrn我认为应该是我jdk或者eclipse哪里配置的问题,希望能修复这个问题。下面贴出我的一些配置,希望有大佬能指点解决这个问题。rn![图片说明](https://img-ask.csdn.net/upload/201901/10/1547089551_52494.jpg)rnrn这个是classpath的配置,不知道有没有问题,但是现在在cmd里输入java和javac是正常的。rnrn![图片说明](https://img-ask.csdn.net/upload/201901/10/1547089627_490273.jpg)rnrn![图片说明](https://img-ask.csdn.net/upload/201901/10/1547089674_17282.jpg)rnrneclipse里jdk的配置。rnrn![图片说明](https://img-ask.csdn.net/upload/201901/10/1547089702_982955.jpg)rnrnjdk安装的时候有分开安装,应该是不会有啥覆盖的情况。rnrn![图片说明](https://img-ask.csdn.net/upload/201901/10/1547110354_479874.jpg)![图片说明](https://img-ask.csdn.net/upload/201901/10/1547110362_826936.jpg)rnrn这里我清楚我的maven仓库里并没有这个jdk.tools,我可以在cmd里mvn导入,但我这里希望就是能不能通过设置一下哪里,让他能贼自动找到jdk/lib/tools.jar这个东西。因为我需要让一个我无法修改的项目也能够找到这个tools.jar,所以我希望能做出全局的修改。rnrn如果我加系统依赖的话会出现rnrn![图片说明](https://img-ask.csdn.net/upload/201901/10/1547112744_290270.jpg)rnrn我只前有说过,我在cmd里输出java和javac都是可以正常反应的,环境变量不知道有没有问题。rn上面图片的异常是Project build error: 'dependencies.dependency.systemPath' for jdk.tools:jdk.tools:jar must specify an absolute path but is $JAVA_HOME/lib/tools.jarrnrn希望有大佬能指点解决这个问题,万分感谢!

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试