使用Maven一年有余,却总是被两则不起眼的编译信息困扰,终想查明,这两则信息如下:
[INFO] Using Eclipse Workspace: D:\maven\workspace
[WARNING] Workspace defines a VM that does not contain a valid jre/lib/rt.jar: C:\Program Files\Java\jre7
[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
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
设置后编译出现如下信息
[INFO] Using Eclipse Workspace: D:\maven\workspace
[INFO] Adding default classpath container: org.eclipse.jdt.launching.JRE_CONTAINER
OK搞定。
原文刊载于
http://www.liubey.org/maven_warning_inf/
- 大小: 90.5 KB
分享到:
相关推荐
在Java开发中,Maven是一个强大的项目管理和构建工具,它帮助开发者管理依赖、构建项目以及自动化项目的生命周期。本文将深入探讨如何使用Maven来编译并创建一个JAR(Java Archive)包,主要涉及以下几个方面: 1. ...
在pom.xml中添加相关配置,如设置`<fork>true</fork>`,让Maven使用独立的JVM实例进行编译,以及设置`${JAVA_HOME}/bin/javac</executable>`,指定使用哪个JDK的javac编译器。 5. **优化Maven的settings.xml**: ...
Storm 编程实践(安装 Maven-使用 Maven 编译运行代码-mvn 打包) 本文档介绍了 Storm 编程实践的实践报告,涵盖了安装 Maven、使用 Maven 编译运行代码和 mvn 打包等内容。报告中还包括了实验环境的配置、实验内容...
- **default**:主要的构建阶段,包括validate、compile、test、package、install和deploy六个阶段,覆盖了编译、测试、打包、安装到本地仓库以及部署到远程仓库等步骤。 - **site**:生成项目相关的报告和网站。 *...
eclipse 中编译、运行都正常,但是如果用maven的打包命令 mvn clean package 进行打包时会发现有类型错误
1. **项目对象模型 (Project Object Model, POM)**:POM是Maven的核心,它是项目配置的XML文件,包含了项目的基本信息,如项目名称、版本、开发者信息,以及依赖、构建目标等设置。 2. **依赖管理 (Dependency ...
而Maven则是一款强大的项目管理工具,主要用于Java项目的构建、依赖管理和项目信息管理。本话题主要探讨如何使用Maven来编译Flex项目,摆脱对FlexBuilder的依赖,实现更高效、自动化的工作流程。 标题"swf.rar_flex...
maven编译pentaho-big-data-plugin遇到的所有问题解决,pentaho6.0
"Jenkins+maven编译发部JAVA项目" Jenkins 是一个开源的自动化服务器,主要用于自动化各种任务,例如构建、测试、部署等。Maven 是一个项目管理工具,主要用于管理项目的依赖关系、编译、打包、部署等。下面将详细...
11. **网络连接**:首次编译时需要互联网连接,用于下载所有Maven和Hadoop的依赖项。 #### 三、具体步骤 **2. 安装 JDK** **2.1 下载 JDK** 根据编译要求,JDK需要1.7或更高版本。可以从Oracle官方网站下载适合...
Maven是一个采用纯Java编写的开源项目管理工具。Maven是很重要的,我们可以对我们所编写的代码进行预编译。
之前用maven开发,每修改一次代码都需要重新编译发布一次,于是后面我用了jrebel实现热编译,这样开发就方便了很多,后面开发都只需要编译一次,有代码或者页面改动,都会自动去编译,不用maven再重新编译发布一次,...
自己学习并应用Spark一段时间后,由于需要改源代码,就研究了下怎么编译源码,成功编译后,记录下了编译...另外编译使用的工具可以是maven,也可以是sbt,我都研究过了,两种编译方法都予以描述,可根据自身喜好选用。
在`default`生命周期中,`compile`阶段负责编译源代码,`test`阶段执行单元测试,`package`阶段将编译后的类打包成JAR或WAR,`install`阶段将打包好的文件安装到本地仓库,`deploy`阶段则将其发布到远程仓库。...
在编译Mahout in Action的源代码时,Maven会尝试从预定义的远程仓库下载所需的依赖项。当这些依赖项的URL发生变化,Maven无法自动找到正确的资源,从而导致编译失败。 为了解决这个问题,我们需要手动下载缺失的jar...
这个过程涉及到的知识点主要包括 Maven 的使用、源码编译流程以及依赖管理。 首先,让我们深入了解 Maven。Maven 是一个项目管理和综合工具,用于自动化构建、依赖管理和项目信息管理。在Doris中,Maven 负责管理...
1. **pom.xml**: 这是Maven项目的核心配置文件,包含了项目的基本信息(如groupId、artifactId、version),以及项目依赖、插件和其他构建设置。在mondrian-war-maven-project中,你需要确保pom.xml正确配置了...
从压缩包子文件的文件名称列表 "3.1.0" 来看,虽然没有提供具体的文件名,但通常这样的列表可能包括了构成该版本Plexus容器默认组件的所有必要jar文件,例如 "plexus-container-default-3.1.0.jar" 以及其他相关的...
Linux环境下使用Maven编译RocketMQ 4.3.0版本是Java开发者在分布式消息队列领域中的常见操作。RocketMQ是由阿里巴巴开源的一款高性能、高可用、稳定且易用的消息中间件,广泛应用于大规模分布式系统中。在这个场景下...