同事使用的是苹果mac,而我们其他人的开发环境是windows jdk1.8 导致同事从git上pull下来的工程,pom文件是直接报错的,

windows下的pom文件设置是这样的:

  1. <dependency>
  2. <groupId>jdk.tools</groupId>
  3. <artifactId>jdk.tools</artifactId>
  4. <version>1.7</version>
  5. <scope>system</scope>
  6. <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
  7. </dependency>

如果开发环境团队操作系统不统一,可以修改成如下来指定路径:

  1. 1 <profile>
  2. 2   <id>default-profile</id>
  3. 3   <activation>
  4. 4   <activeByDefault>true</activeByDefault>
  5. 5   <file>
  6. 6   <exists>${java.home}/../lib/tools.jar</exists>
  7. 7   </file>
  8. 8 </activation>
  9. 9   <properties>
  10. 10     <toolsjar>${java.home}/../lib/tools.jar</toolsjar>
  11. 11   </properties>
  12. 12 </profile>
  13. 13 <profile>
  14. 14    <id>mac-profile</id>
  15. 15   <activation>
  16. 16   <activeByDefault>false</activeByDefault>
  17. 17   <file>
  18. 18   <exists>${java.home}/../Classes/classes.jar</exists>
  19. 19   </file>
  20. 20   </activation>
  21. 21   <properties>
  22. 22   <toolsjar>${java.home}/../Classes/classes.jar</toolsjar>
  23. 23   </properties>
  24. 24 </profile>
  25. 25 </profiles>
  26. 26 <dependencies>
  27. 30   <dependency>
  28. 31   <groupId>com.sun</groupId>
  29. 32   <artifactId>tools</artifactId>
  30. 33   <version>1.7</version>
  31. 34    <scope>system</scope>
  32. 35    <systemPath>${toolsjar}</systemPath>
  33. 36 </dependency>

代码经过测试可以直接使用的,环境非特定设置,默认开发环境,如果开发环境不同,路径等问题,可以根据情况修改配置参数,如版本号或路径。

MacX中的JDK和Oracle JDK(原来SUN JDK)提供的实现有很大不同,其中一个就是没有tools.jar,在classes.jar中已经包括了Oracle JDK tools.jar中的内容。

MAC和windows开发操作系统环境,解决Maven工程中报 Missing artifact jdk.tools:jdk.tools的更多相关文章

  1. 解决Maven工程中报 Missing artifact jdk.tools:jdk.tools:

    jdk.tools:jdk.tools是与JDK一起分发的一个JAR文件,可以如下方式加入到Maven项目中:<dependency>    <groupId>jdk.tool ...

  2. Maven工程中报 Missing artifact jdk.tools:jdk.tools:

    jdk.tools:jdk.tools是与JDK一起分发的一个JAR文件,可以如下方式加入到Maven项目中:<dependency>    <groupId>jdk.tool ...

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

    eclipse或STS运行maven工程出现Missing artifact jdk.tools:jdk.tools:jar:1.7问题 最近项目中使用到大数据平台,代码中应用了hbase-clien ...

  4. 解决maven工程无法创建src/main/java包名的方法

    我的maven工程不知道为什么无法创建src/main/java这样的包,我创建好的maven工程只有src/main/resources包,其他的主要包都没有,而且不能创建包,new出来的包都是一个 ...

  5. Maven报错Missing artifact jdk.tools:jdk.tools:jar:1.7--转

    原文地址:http://blog.csdn.net/u013281331/article/details/40824707 在Eclipse中检出Maven工程,一直报这个错:“Missing art ...

  6. eclipse的maven项目报Missing artifact jdk.toos:jdk.toos:jar:1.6错

    很多框架都会依赖jdk中的tools.jar,但是maven仓库中却没有. 如在eclipse+maven编写mapreduce代码,就会报Missing artifact jdk.toos:jdk. ...

  7. 解决Maven工程install时[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources

    一.背景 最近的项目在用maven 进行install的时候,发现老师在控制台输出警告:[WARNING] Using platform encoding (UTF-8 actually) to co ...

  8. 操作实践:maven工程查找工程中多余的jar包

    声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635 版本迭代过程中对jar的依赖可能会产生变化,一些本不必再依赖的jar包可以因为没有清除而依然留在版本的发布 ...

  9. 【原】无脑操作:eclipse创建maven工程时,如何修改默认JDK版本?

    问题描述:eclipse建立maven项目时,JDK版本默认是1.5,想创建时默认版本设置为1.8,如何修改? 解决方案: 找到本机maven仓库存放位置,比如:${user.home}/.m2/路径 ...

随机推荐

  1. asyncio标准库3 HTTP client example

    import aiohttp import asyncio import async_timeout async def fetch(session, url): async with async_t ...

  2. synchronized(this)、synchronized(class)与synchronized(Object)的区别

    在多线程开发中,我们经常看到synchronized(this).synchronized(*.class)与synchronized(任意对象)这几种类型同步方法.但是是否知道这几种写法有什么区别了 ...

  3. oracle-2_dblink的创建和使用

    一.创建dblink 1.查询创建dblink表 SELECT * FROM DBA_DB_LINKS; ); BEGIN SELECT COUNT(*) INTO I FROM DBA_DB_LIN ...

  4. # putty的使用和保存配置

    putty的使用和保存配置 之前使用的xshell5,但是突然之间需要我去注册,根本无法使用.在网上看到可以到官网申请家庭和学校版本,但是我的邮箱一直没有接收到邮件.于是我放弃xshell.就拿起了之 ...

  5. 【Spring实战】—— 1 入门讲解

    这个系列是学习spring实战的总结,一方面总结书中所写的精髓,另一方面总结一下自己的感想. 基础部分讲解了spring最为熟知的几个功能:依赖注入/控制反转 和 面向切面编程. 这两个就不再多说了, ...

  6. March 2 2017 Week 9 Thursday

    The first duty of love is to listen. 爱的首要责任是倾听. Yesterday, I read an article that says a successful ...

  7. fastcgi+lighttpd+c语言 实现搜索输入提示

    1.lighttpd 服务器 lighttpd是一个比较轻量的服务器,在运行fastcgi上效率较高.lighttpd只负责投递请求到fastcgi. centos输入yum install ligh ...

  8. Android(java)学习笔记16:多线程 - 定时器概述和使用

    1. 定时器: 定时器是一个应用十分广泛的线程工具,可用于调度多个定时任务以后台线程的方式执行. 在Java中,可以通过Timer和TimerTask类来实现定义调度的功能 Timer public ...

  9. HDU 2157 How many ways?? 【矩阵经典8】

    任意门:http://acm.hdu.edu.cn/showproblem.php?pid=2157 How many ways?? Time Limit: 2000/1000 MS (Java/Ot ...

  10. 2017.9.12 初入HTML -----学习总结(二)

    接上:..... (4)标记可分为: 4.1单标记:(单标记仅单独使用就可以表达完整的意思) 基本语法:<标记名称/> 例如:<br/>实现换行的功能.<hr/>实 ...