Maven搭建hadoop环境报Missing artifact jdk.tools:jdk.tools:jar:1.7(5种办法,2种正解)
刚刚写的那一篇,是网上比较主流的解决办法。
鉴于实际情况,有伙伴的机器上没有遇到这个问题,我们再探究原因,最终还有4种情况需要说明。
先说,另外一种“正解”。
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>1.0.1.1</version>
<exclusions>
....
<exclusion>
<artifactId>jdk.tools</artifactId>
<groupId>jdk.tools</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.5.1</version>
<exclusions>
。。。
<exclusion>
<artifactId>jdk.tools</artifactId>
<groupId>jdk.tools</groupId>
</exclusion>
</exclusions>
</dependency>
HBase和Hadoop的配置都排除jdk.tooks,之前只是Hadoop那个配置排除了。
其它3种场景或尝试
1.某伙伴的机器上,在没有排除和配置maven的情况下,并没有报错,这个比较奇怪。
2.某伙伴建议配置Java、Maven的Home变量、Classpath、Path,没有卵用。
3.网友建议:http://www.educity.cn/wenda/466544.html,没有卵用。
Eclipse中找不到tools.jar的解决方法
原因:Eclipse默认使用 C:\windows\system32\javaw.exe 作为 JVM,所以找不到tools.jar
解决方法如下:
1、修改 eclipse.exe 目录下的 eclipse.ini,加入
-vm %JAVA_HOME%\bin\javaw.exe
前提是必须在环境变量里定义了JAVA_HOME,如果未定义,则需要写完整的绝对路径。
2、再次启动 eclipse。
3、ok.
(需要说明的是-vm,放在了eclipse.ini的最后一行,Eclipse启动报错,放在第1行正常)
-----------------------
总结:有2种比较好的解决办法,3种特殊情况和尝试。
网上比较主流的那种办法,我们没有采纳,而是用了我们自己发现的,本文中提到的排除jdk.tools这种办法。
说到排除这个问题,我觉得还是POM文件用的不够熟练。
打开POM文件,Depency Hierarchy,搜索tools.jar,手动排除依赖tools.jar,然后就会自动修改pom.xml文件,保存就好了。
Maven搭建hadoop环境报Missing artifact jdk.tools:jdk.tools:jar:1.7(5种办法,2种正解)的更多相关文章
- Maven搭建hadoop环境报Missing artifact jdk.tools:jdk.tools:jar:1.7
今天,更新了工程,报错了. 项目中用了HBase,也有Hadoop相关的jar配置. pom文件, Missing artifact jdk.tools:jdk.tools:jar:1.7 Maven ...
- maven工程pom.xml报Missing artifact net.sf.jasperreports:jasperreports:jar:6.2.0
有时maven工程的pom.xml报以下类型错误: Description Resource Path Location TypeMissing artifact net.sf.jasperrepor ...
- 基于Maven引入Hadoop包报Missing artifact jdk.tools:jdk.tools:jar:1.6
一.问题来源 <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop- ...
- 解决首次在eclipse中使用maven构建hadoop等项目时报Missing artifact sun.jdk:tools:jar:1.5.0的问题
问题原因: eclipse中的maven插件默认没有引用环境变量,所以找不到jdk的路径,也就找不到tool.jar. 解决办法: 步骤如下: 1.关闭eclips 2.在eclipse的解压目录中与 ...
- Maven引入Hadoop依赖报错:Missing artifact jdk.tools:jdk.tools:jar:1.6
Maven引入Hadoop依赖报错:Missing artifact jdk.tools:jdk.tools:jar:1.6 原因是缺少tools.jar的依赖,tools.jar在jdk的安装目录中 ...
- eclipse的maven项目报Missing artifact jdk.toos:jdk.toos:jar:1.6错
很多框架都会依赖jdk中的tools.jar,但是maven仓库中却没有. 如在eclipse+maven编写mapreduce代码,就会报Missing artifact jdk.toos:jdk. ...
- 关于导入本地maven项目pom.xml出现missing artifact org....报错处理
一.导入本地maven项目步骤:
- maven 加入json-lib.jar 报错 Missing artifact net.sf.json-lib:json-lib:jar:2.4:compile
<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</art ...
- Missing artifact net.sf.json-lib:json-lib:jar:2.4错误和Eclipse安装Maven插件错误
微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1.配置Maven项目的pom.xml文件报错 (1).错误描述:Missing artifac ...
随机推荐
- POJ 3014:Asteroids(二分匹配,匈牙利算法)
id=3041">Asteroids Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14399 Acce ...
- vue.2.0-路由
vue2.0 路由: http://router.vuejs.org/zh-cn/index.html 基本使用: 1. 布局 <router-link to="/home" ...
- 12.ng-switch
转自:https://www.cnblogs.com/best/tag/Angular/ 根据作用域表达式动态切换把那个DOM元素包含在已经编译的模板中. 示例代码: <!DOCTYPE htm ...
- Integer 和 int的种种比较
public static void main(String[] args) { int i = 128; Integer i2 = 128; Integer i3 = new Integer(128 ...
- ASP.net Web API允许跨域访问解决办法
来源 http://blog.csdn.net/wxg_kingwolfmsncn/article/details/48545099 遇到此跨域访问问题,解决办法如下: 方法一: 1. 在we ...
- Oracle 导入导出 创建用户等
localhost:1158/emD:\app\Administrator\product\11.2.0\dbhome_1\bin\imp.exe log path E:\app\Administ ...
- ES6学习笔记(十)代理器Proxy
Java可以使用面向切面(AOP)的方法来实现某些统一的操作,比如某个操作的前置通知,后置通知等等,这种操作非常方便,其本质便是动态代理,JS的代理Proxy代理该如何使用呢? 某位大神的实现如下: ...
- android 动态设置TextView值,例:金额添加
一说到动态递增设置TextView值,非常多人应该立即就想到起个线程,让后在线程中睡眠指定时间,使用handler发送消息更新TextView值! 这样是实现了动态递增设置TextView值可是效率不 ...
- 关于字符串math函数的用法例子
var objStr=new String("Yue I love you till the end of my life!"); var reg3 = /[^\s+]/g; ob ...
- Index was out of range
Index was out of range. Must be non-negative and less than the size of the collection. Parameter nam ...