使用Maven一年有余,却总是被两则不起眼的编译信息困扰,终想查明,这两则信息如下:

  1. [INFO] Using Eclipse Workspace: D:\maven\workspace
  2. [WARNING] Workspace defines a VM that does not contain a valid jre/lib/rt.jar: C:\Program Files\Java\jre7
  3. [INFO] Adding default classpath container: org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6

始终搞不懂为何出现这两则信息,上午终于搞懂,其实一切还是从编译时自动转换了JRE说起。 
每次编译完Maven项目,其在Eclipse中Jre System Library总是会变成JavaSE-1.6,而不是自己设置的JRE,遂尝试在Google下寻找答案,找到了两个URL如下 
How to make Maven use Eclipse workspace default JRE? 
http://stackoverflow.com/questions/12322202/how-to-make-maven-use-eclipse-workspace-default-jre 
大名鼎鼎的stackoverflow,还有一则是在maven官网上找到的,链接如下 
The JDK is being used is different than expected 
http://maven.apache.org/plugins/maven-eclipse-plugin/trouble-shooting/jdk-being-used-is-different-than-expected.html

于是慢慢尝试如何消除掉这两则看似正常的不正常INFO/Waring,分两步 
1:在stackoverflow查到Eclipse的JRE指向可能存在问题,遂检查之,发现JRE_HOME指向的是JRE目录,改成JDK目录 
 
2:将maven的编译plugin的与机器的JDK版本对应,比如我在项目中写的1.6,而机器安装的是JDK1.7

  1. <plugin>
  2. <artifactId>maven-compiler-plugin</artifactId>
  3. <version>2.3.2</version>
  4. <configuration>
  5. <source>1.6</source>
  6. <target>1.6</target>
  7. <encoding>UTF-8</encoding>
  8. </configuration>
  9. </plugin>

设置后编译出现如下信息

  1. [INFO] Using Eclipse Workspace: D:\maven\workspace
  2. [INFO] Adding default classpath container: org.eclipse.jdt.launching.JRE_CONTAINER

Workspace defines a VM that does not contain a valid jre/lib/rt.jar: C:\Program Files\Java\jre7的更多相关文章

  1. install-file -Dfile=J:\project01\workspace\service\lib\javapns-jdk16-163.jar -DgroupId=org.json -Dar

    今天在开发项目的时候发现了一个问题,所以通过博客来记录起来! 为了以后在问题的解决方面能得到借鉴! 问题的现象是这种: 这样会报错的.pom.xml文件他在编译.检查他的文件语法的时候是须要參考库中的 ...

  2. jmeter sampler maven项目排错记

    eclipse 创建的maven项目,引入jar包之后出现红色叹号,一直找不到原因,连main方法都无法运行,提示找不到类: 错误: 找不到或无法加载主类 soapsampler.SoapSample ...

  3. Eclipse Configuration

    *** Date: 2013年9月12日星期四中国标准时间上午8时41分50秒 *** Platform Details: *** System properties:applicationXMI=o ...

  4. log4j将日志文件输出到相对路径

    建议直接使用jvm中定义的变量或者操作系统的环境变量. log4j.appender.logfile.File=${user.dir}/logs/app.log,使用tomcat容器时${user.d ...

  5. 【spring】aop切面通知,日志处理

    1.spring的切面编程 概念原理可以看这里:http://blog.csdn.net/moreevan/article/details/11977115 2.所需要的jar包 maven引入jar ...

  6. 【code block】局部代码块+构造代码块+静态代码块

    1.局部代码块 位置:位于类的方法中 表示方法:{} 作用:控制变量的生命周期,减少内存消耗 demo: public class LocalCode { public static void mai ...

  7. maven中可以直接引用的java系统属性和环境变量属性

    一.查看命令: 1 mvn help :system 二.引用 在pom文件中通过 ${变量名}来引用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...

  8. Java用System读取系统相关信息、环境变量——(六)

    package Java_Test; public class System1 { public static void main(String[] args) { // TODO Auto-gene ...

  9. IDEA Maven项目 编译的问题

    IDEA中,点击项目的maven插件的 compile: 出现: [INFO] ------------------------------------------------------------ ...

随机推荐

  1. Spark1.6.2 java实现读取txt文件插入MySql数据库代码

    package com.gosun.spark1; import java.util.ArrayList;import java.util.List;import java.util.Properti ...

  2. 64位win10系统无法安装.Net framework3.5的解决方法

    前言 Win10不会自带安装.net framework 3.5,而很多软件必须基于.net framework 3.5 sp1(例如:Sql Server 2014),从官网上下载的.net fra ...

  3. C++笔记----构造函数与析构函数(二)

    构造函数是一种特殊的成员函数.在创建对象的时候自动调用,对对象的数据成员进行初始化. (1)栈区中创建的对象,在生存期结束的时候会自动调用析构函数. (2) 在堆上创建的对象,要由程序员显示调用del ...

  4. angularJs禁用或启用输入框指令ng-disabled="true"

    ng-disabled 指令设置表单输入字段的 disabled 属性(input, select, 或 textarea). 如果 ng-disabled 中的表达式返回 true 则表单字段将被禁 ...

  5. windows的Timer和写文件方式串口注意!

    1.Timer要读取并分发消息,才能触发自定义回调函数 SetTimer(NULL, 1, 40, (TIMERPROC)TimerProc); while(GetMessage(&msg, ...

  6. VS 创建虚拟目录失败,映射到其他文件夹!

    今天,改一哥们项目!立马,问了一下原因.支支吾吾的气死LZ! 算了,就不信自己琢磨不出来!哼 找了半天,坑爹的是在Web.csproj文件中! 用txt打开,发现这个东东! <UseIIS> ...

  7. Java基础之扩展GUI——显示About对话框(Sketcher 2 displaying an About dialog)

    控制台程序. 最简单的对话框仅仅显示一些信息.为了说明这一点,可以为Sketcher添加Help菜单项和About菜单项,之后再显示About对话框来提供有关应用程序的信息. 要新建的对话框类从JDi ...

  8. Scala 环境搭建

    下载安装包 1,)下载java jdk,推荐jdk1.8; 2,)下载scala安装包:http://www.scala-lang.org/; 3,)下载IDE:ide可以选择两种: 3.1,)Sca ...

  9. 全网扫描扫描10000端口后的优化脚本&域名列表指定端口的批量测试

    方法一: #coding=utf-8 import urllib2 import threading from time import ctime,sleep print "Start-Ti ...

  10. 教你快速高效接入SDK——总体思路和架构

    题记:很多做游戏开发的人,估计都或多或少地接过渠道SDK,什么UC,当乐,91,小米,360......据统计国内市场当前不下于100家渠道,还包括一些没有SDK的小渠道.每个渠道SDK接入的方法呢, ...