在使用Maven以及Eclipse的Maven插件时,我和同事遇到了一下几个问题,本着知其然知其所以然的学习精神,总结如下:

  1. Unrecognised tag
    问题
    由于我使用本地代理仓库,所以settings.xml设置如下:

    <profiles>
    <profile>
    <id>nexus</id>
    <repositories>
    <repository>
    <id>nexus</id>
    <name>Nexus</name>
    <url>http://localhost:8081/nexus/content/groups/public</url>
    <releases><enabled>true</enabled></releases>
    <snapshots><enabled>true</enabled></snapshots>
    </repository>
    </repositories>
    <pluginRepositories>
    <pluginRepository>
    <id>nexus</id>
    <name>Nexus</name>
    <url>http://localhost:8081/nexus/content/groups/public</url>
    <releases><enabled>true</enabled></releases>
    <snapshots><enabled>true</enabled></snapshots>
    </pluginRepository>
    </pluginRepositories>
    </profile>
    <!--激活配置-->
    <activeProfiles>
    <activeProfile>nexus</activeProfile>
    </activeProfiles>
    </profiles>

    但在Maven编译时报了如下异常:

    [WARNING] Some problems were encountered while building the effective settings
    [WARNING] Unrecognised tag: 'activeProfiles' (position: START_TAG seen ...\n\t... @269:18) @ C:\Documents and Settings\Administrator.ZQFGROUP.000\.m2\settings.xml, line 269, column 18
    [WARNING]

    解决
    这是因为错把activeProfiles配置到了profiles节点里了,应该把activeProfiles移到profiles之外,更多settings.xml配置信息请参考这里

  2. No goals
    问题
    Eclipse安装了Maven插件后,在项目的pom.xml上右键能看到如下:

    而我自作聪明地认为:Maven buildmvn compile 是等价的,于是我再点击"Maven build..."之后,“Goals”是空的,如:

    于是就报了这样的错误:

    [ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format:or:[:]:. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-site, site, post-site, site-deploy, pre-clean, clean, post-clean. -> [Help 1]

    解决
    解决方法至少有两种:

    • 再点击"Maven build..."之后,输入你要执行的“Goals”,如compile,clean,test等等;
    • 在pom.xml中配置默认的Goal,如:
      <build>
      <defaultGoal>clean</defaultGoal>
      </build>

      作为project的子节点。

  3.  not a JRE
    问题
    在使用pom.xml配置默认Goal的时,如果默认的Goal为clean就没问题,但如果是如:

    <build>
    <defaultGoal>clean compile</defaultGoal>
    </build>

    就会报错误:

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project Demo: Compilation failure
    [ERROR] Unable to locate the Javac Compiler in:
    [ERROR] C:\Program Files\Java\jre7\..\lib\tools.jar
    [ERROR] Please ensure you are using JDK 1.4 or above and
    [ERROR] not a JRE (the com.sun.tools.javac.Main class is required).
    [ERROR] In most cases you can change the location of your Java
    [ERROR] installation by setting the JAVA_HOME environment variable.

    经过几番尝试,才发现并不是多个Goal的问题,而是compile Goal的问题。但使用命令的"mvn compile"又是OK的。
    几经折腾才发现错误里说的很清楚:Please ensure you are using JDK 1.4 or above and not a JRE",它需要的是JDK而不是JRE。我给的项目中使用的是公共JRE:

    解决
    修改Eclipse的配置,使用JDK:Eclipse->Window->Preferences->Java->Installed JREs

    Finish后,项目如:

OK,知之为知之,不知创造条件必须知!!

Maven与Eclipse使用中遇到的问题解决之道的更多相关文章

  1. 【Java EE 学习 82 下】【MAVEN整合Eclipse】【MAVEN的一些高级概念】

    一.MAVEN整合Eclipse MAVEN是非常优秀,但是总是要开命令行敲命令是比较不爽的,我们已经习惯了使用IDE,所以还有一种将MAVEN整合到Eclipse的方法. 详情查看:http://w ...

  2. Maven学习(一) -- 安装Maven及Eclipse中配置Maven

    标签(空格分隔): 学习笔记 本文环境:Windows7, JDK1.7.0_76 安装及配置Maven环境变量 需要电脑中已经有Java环境 在控制台中输入:echo %JAVA_HOME%看是否能 ...

  3. 【Maven】Eclipse 使用Maven创建SpringMVC Web项目

    创建环境 系统:win 10 软件:eclipse,maven. 创建步骤 创建一个Maven Web项目,可以参照:[Maven]Eclipse 使用Maven创建Java Web项目 添加spri ...

  4. Maven学习总结(六)——Maven与Eclipse整合

    一.安装Maven插件 下载下来的maven插件如下图所示:,插件存放的路径是:E:/MavenProject/Maven2EclipsePlugin

  5. 转】Maven学习总结(六)——Maven与Eclipse整合

    原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4052025.html 感谢! 一.安装Maven插件 下载下来的maven插件如下图所示:,插件存放的路径是:E ...

  6. Maven和Eclipse联合开发(转)

    最近公司突然把以前的架构推到从来,这个还真需要勇气,不过也是的,基础不好,再好的房子也站不稳.公司采用Maven作为项目管理,WebService项目框架采用SDHI.(Spring+Dubbo+He ...

  7. Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL

    Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL     严重: Error config ...

  8. 1.Maven+SpringMVC+Eclipse软件安装配置,Maven报插件错误,Eclipse总是卡死的解决办法,导入一个maven工程后 一直显示importing maven project

     使用Maven+SpringMVC+Eclipse软件安装配置过程中的问题: 1.Eclipse总是卡死的解决办法: 一:内存不足所以会卡死,配置一下eclipse.ini修改这几个值就好了-X ...

  9. Maven学习(六)-- Maven与Eclipse整合

    由于我使用的是IDEA所以就不摘录了,感兴趣的移步 Maven学习总结(六)--Maven与Eclipse整合 Maven学习总结(七)--eclipse中使用Maven创建Web项目  

随机推荐

  1. php session 生命周期代码实例

     php session 生命周期代码实例        我们为什么需要Session,就是因为我们需要存储各个用户的状态数据.那么试问,如果由你来设计解决这个需求的方案,那么也许你会设置这样一个数据 ...

  2. Eclipse 注释

    Ctrl + / Ctri + Shift + / Ctrl + Shift + C

  3. GridView等表格模板列绑定数据的方法

    //绑定GridView每一行中的CheckBoxList protected void GridView1_RowDataBound(object sender, GridViewRowEventA ...

  4. Service介绍(MediaPlayer应用)

    一.Service介绍 Service类似于Windows中的服务,没有界面,只是在后台运行:而服务不能自己运行,而是需要调用Context.startService(Intent intent);或 ...

  5. C++:C语言实现HTTP的GET和POST请求

    HTTP请求和IP/TCP 所谓的HTTP协议是基于IP/TCP协议的, 所以要获取远端的html数据只要创建socket对象就足够了: HTTP是基于IP/TCP加上了网络请求的固定格式, 比如: ...

  6. Spring AOP中的动态代理

    0  前言 1  动态代理 1.1 JDK动态代理 1.2 CGLIB动态代理 1.2.1 CGLIB的代理用法 1.2.2 CGLIB的过滤功能 2  Spring AOP中的动态代理机制 2.1  ...

  7. 2016 ACM/ICPC Asia Regional Qingdao Online(2016ACM青岛网络赛部分题解)

    2016 ACM/ICPC Asia Regional Qingdao Online(部分题解) 5878---I Count Two Three http://acm.hdu.edu.cn/show ...

  8. 创建 vxlan 并部署 instance - 每天5分钟玩转 OpenStack(147)

    上一节我们完成了 OVS VxLAN 的配置工作,今天创建 vxlan100_net 并部署 instance. 创建 vxlan100_net 打开菜单 Admin -> Networks,点 ...

  9. linux 标准目录

    转自 http://www.weixuehao.com/archives/492 装完Linux,首先需要弄清Linux 标准目录结构 / root -?启动Linux时使用的一些核心文件.如操作系统 ...

  10. java_JDBC(4)

    一.Statement import java.sql.*; public class TestJDBC { public static void main(String[] args) { Conn ...