• 首先贴出我的MAVEN的setting.xml文件,嗯,我也怕忘了下次再怎么去配置。
<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><pluginGroups></pluginGroups><proxies></proxies><servers><server><id>releases</id><username>admin</username><password>admin123</password></server><server><id>snapshots</id><username>admin</username><password>admin123</password></server><!-- 自动打包部署到tomcat,用户名和密码对应tomcat/conf/tomcat-users.xml的配置 --><server><id>tomcat7</id><username>manager</username><password>cc830905</password></server> </servers><mirrors></mirrors><profiles><!-- 配置maven创建工程时使用的JDK编译版本 --><profile><id>jdk17</id>  <activation>  <activeByDefault>true</activeByDefault>  <jdk>1.7</jdk>  </activation>  <properties>  <maven.compiler.source>1.7</maven.compiler.source>  <maven.compiler.target>1.7</maven.compiler.target>  <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>  </properties> </profile><profile>  <id>dev</id>  <repositories>  <repository>  <id>local-nexus</id>  <url>http://cc.thiscc.com:8081/nexus/content/groups/public/</url>  <releases>  <enabled>true</enabled>  </releases>  <snapshots>  <enabled>true</enabled>  </snapshots>  </repository><repository><id>people.apache.snapshots</id><url>http://repository.apache.org/content/groups/snapshots-group/</url><releases><enabled>false</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository>  </repositories>  </profile>
</profiles><activeProfiles>  <activeProfile>dev</activeProfile>
</activeProfiles></settings>

使用eclipse创建maven web工程的步骤:

  1. new–>Project…–>Maven Project


  2. 配置项目运行容器tomcat



  • 问题:经常创建maven项目后,pom.xml头会报诸如:Description Resource Path Location Type Could not calculate build plan: Failure to transfer xxx.xxx...的错误。
    比如:

    • 原因:

      • 使用maven下载jar包的过程中,很容易因为各种原因(网速慢、断网)导致jar包下载不下来,出现很多.lastUpdated文件。因为这些文件的存在,导致jar包没能正确下载下来,所以maven找不到相关的jar包。
      • 解决办法:去本地仓库目录repository删除.lastUpdated后缀的文件。这里提供两个平台批量删除的脚本:

for windows平台:

cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i

for linux平台

find ~/.m2  -name "*.lastUpdated" -exec grep -q "Could not transfer" {} \; -print -exec rm {} \;

删除完成之后,在右键项目工程,选择Maven–>Update Project...更新一下即可。


  • 问题: 在Eclipse中新建了一个Maven工程, 默认生成的JDK版本是1.5,然后更改JDK版本为1.7, 结果每次使用Maven > Update project的时候JDK版本都恢复成1.5。

    • 原因:

      • 这是Maven已知的一个特性。除非在你的POM文件中显示的指定一个版本,否则会使用编译器默认的source/target版本1.5。主要还是在于Eclipse中Maven的集成方式起到了关键作用, 它会从POM文件中生成项目的.project,.classpath以及.settings, 因此除非POM文件指定了正确的JDK版本, 否则你每次更新项目配置的时候它都会重置到1.5版本。
    • 解决办法: 在项目的pom.xml文件中增加如下配置:
<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.7</source> <!-- 源代码使用的开发版本 --><target>1.7</target> <!-- 需要生成的目标class文件的编译版本 --><!-- 一般而言,target与source是保持一致的,但是,有时候为了让程序能在其他版本的jdk中运行(对于低版本目标jdk,源代码中需要没有使用低版本jdk中不支持的语法),会存在target不同于source的情况 --><encoding>UTF8</encoding> <!--windows默认使用GBK编码,java项目经常编码为utf8,也需要在compiler插件中指出,否则中文乱码可能会出现编译错误--></configuration></plugin></plugins>
</build>

参考官方示例:http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html


  • 技巧:上面的方法每次都要去生成的工程中去修改pom,项目多的话修改起来很麻烦,这里有个一劳永逸的办法,修改eclipse 创建maven项目设置默认jdk版本

    • 只需要在maven的setting.xml文件中 的 profiles 节点 加入如下代码片段:
<profile>  <id>jdk17</id>  <activation>  <activeByDefault>true</activeByDefault>  <jdk>1.7</jdk>  </activation>  <properties>  <maven.compiler.source>1.7</maven.compiler.source>  <maven.compiler.target>1.7</maven.compiler.target>  <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>  </properties>
</profile>  

官方解释:http://maven.apache.org/plugins/maven-compiler-plugin/index.html


  • **问题:使用Maven > Update project的后项目编码UTF-8被改成GBK的问题。

    • 原因:当在DOS下执行mvn compile命令时,默认使用的是系统的GBK格式编码。
    • 解决办法:在pom.xml中指定编码。
<properties><!-- 文件拷贝时的编码 --><project.build.sourceencoding>UTF-8</project.build.sourceencoding><project.reporting.outputencoding>UTF-8</project.reporting.outputencoding><!-- 编译时的编码 --><maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>

  • 技巧:创建支持Java Servlet3.0的Maven Webapp项目

    • 首先明确一个概念:dynamic web module version与tomcat以及JDK之间的对应关系
dynamic web module version 对应的tomcat 对应的J2EE
2.3 未知 JAVA1.3以上
2.4 tomcat5.5以上 JAVA1.3以上
2.5 tomcat6以上 JAVA1.5以上
3.0 tomcat7以上 JAVA1.6以上
3.1 tomcat8以上 JAVA1.7以上

这里我也不是很懂,找了半天资料都没搞明白这什么玩意o(╯□╰)o,我的理解大概就是如果你用的dynamic web module是3.0的,那么你把这个项目部署在tomcat6里面去运行是不行滴,用1.7版本一下的JDK也是不行滴,嗯,大概就是这样。理解错了欢迎给我指正。

这个技巧是由一个问题引出来的:那就是当你右键eclipse的工程,选择属性,再选择Project Facets里面中选择Dynamic Web Module,想修改这个Module版本的时候,提示你:

Cannot change version of project facet Dynamic Web Module to 3.0

就是死活不让修改!那我们只能暴力执法了→_→,去修改配置文件:

另外这里还有另一种解决方式,我就不赘述了,英语比较好的去参考一下歪果仁的思路—>传送门

到这里还不算完,还有一个地方需要我们去修改一下,那就是web.xml文件。

当你修改Dynamic Web Module后,Update Project…后就会看到上面这样子的图。这是web.xml声明中的版本和Dynamic Web Module不一致造成的,那么我们就来修改一下web.xml这个声明:

方便伸手党copy的代码在下面:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><display-name>xcrm</display-name>
</web-app>

再次右键工程–>Maven–>Update Project…,大功告成,一个没有红叉叉的maven web项目就这样完成了。


哎,另一种方式也记录一下吧,就是上面传送门歪果仁用的方法,照顾一下英语和我一样渣的童鞋。。最主要的区别就是,这种方式可以直接在eclipse里面完成,而不用重启eclipse。进入正题:

  1. 创建maven project,没什么好说的,大把的教程了。
  2. 右键工程–>properties–>project facets,此时如下:

    我们要做的就是先把Dynamic Web Module的勾去掉,再Apply。

  3. 此时我们再去把它勾上,现在你就可以任意选择版本了,如下:

    点击Apply之后,此时我们会发现,在工程目录里面多了个WebContent目录。

  4. 把它自动给我们添加的WebContent目录删除掉,在右键工程–>properties–>Deployment Assembly中该删的删了,该添加的加上,最终下面这张图一样就差不多了。

    这里配置的其实就是项目部署的目录,很明显,我们要把src/main/java和src/main/resource里面的文件要发布到项目的WEB-INF/classes目录里面,src/main/webapp下的文件发布到项目的/目录下面,当然maven Dependencies里面自动下载下来的jar包就要部署到项目的WEB-INF/lib目录下面了。

  5. 最后,同样的还得修改一下web.xml的声明和Dynamic Web Module版本对应,同上。修改完后别忘了右键工程–>Maven–>Update Project… 嗯!The END!


如何下载maven中依赖包的源码?

有些时候,遇到程序莫名其妙的错误的时候,可能需要去看源码找问题,如果不是maven工程,你可能需要一个一个的去下载jar包所对应的源码,然后再通过link关联起来,既麻烦也不优雅。但是如果是maven工程,这一切都好办,只要一个命令mvn dependency:sources就能解决。
右键工程–>Run As–>Maven build,在Goals中输入dependency:sources,再点击Run,然后等它下载完就行了。

so easy!

eclipse MAVEN插件正确使用方式。相关推荐

  1. eclipse maven 插件的安装和配置

    maven3 安装: 安装 Maven 之前要求先确定你的 JDK 已经安装配置完毕.Maven是 Apache 下的一个项目.眼下最新版本号是 3.0.4.我用的也是这个. 首先去官网下载 Mave ...

  2. Docker之使用maven插件【Dockerfile方式】构建并推送镜像到私有仓库

    准备工作 操作系统版本 [root@node02 ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) docker版本 [ ...

  3. eclipse maven插件创建java web项目(2)

    为什么80%的码农都做不了架构师?>>>    好了.马不停蹄,再来一篇使用骨架创建maven web项目的方法,大神就不要看了,小白快来学习吧 开始, 1>创建maven项目 ...

  4. 如何去除Eclipse Maven插件里关于Managed version的警告消息

    问题:Eclipse的Maven插件报一些警告消息: Overriding managed version 2.8.10 for jackson-databind pom.xml /prolikeSe ...

  5. Docker之使用maven插件【配置方式】构建并推送镜像到私有仓库

    准备工作 操作系统版本 [root@node02 ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) docker版本 [ ...

  6. jmeter安装包双击没反应_Jmeter5.0源码在eclipse运行的正确打开方式

    每周一三07:22,准时为你充电 用jmeter也已经有3.4年的时间了,虽然也做过一些简单的扩展,但是一直没有勇气去看源码.作为一个社区活跃,目前使用广泛的工具,自然有他的独到之处,所以最近打算看看 ...

  7. eclipse maven插件问题:error occurred while automatically activating bundle org.eclipse.m2e.core.ui (525)

    为了方便,在开发的过程中我们通常使用maven来管理项目,但是最近经常出现一个问题使得项目无法通过编译: Unable to create the selected preference page. ...

  8. eclipse maven plugin 插件 安装 和 配置

    本文转自:http://www.blogjava.net/fancydeepin/archive/2012/07/13/eclipse_maven3_plugin.html maven3 安装: 安装 ...

  9. 安装eclipse的maven插件

    工具/原料 eclipse(Helios) 3.6 maven 3.0.4 方法/步骤 maven3 安装: 安装 Maven 之前要求先确定你的 JDK 已经安装配置完成.Maven是 Apache ...

最新文章

  1. ACM之路(16)—— 数位DP
  2. 【转】Android的线程使用来更新UI----Thread、Handler、Looper、TimerTask
  3. MySQL 高可用:mysql+mycat实现数据库分片(分库分表)
  4. 2.平凡之路-初识MyBatis
  5. 高考610考哪个计算机学校,2019年高考成绩610分_615分左右能报考上什么学校 文科理科大学名单推荐...
  6. [mybatis]Mapper XML Files_CUD
  7. Groovy在Spring中的简单使用实例
  8. php jq表格,如何用jQuery操作表单和表格
  9. 9.思科交换路由基本命令操作
  10. irf和链路聚合综合实验
  11. ubuntu vscode 配置字体_配置vscode终端字体,vscode终端字体
  12. 用思科模拟器对交换机进行超级终端配置和Telnet远程登录配置
  13. SlickEdit 使用技巧大收集
  14. BackTrack5(BT5)安装教程及BT5支持网卡列表
  15. http://gm100861.blog.51cto.com/1930562/954333
  16. 统计原理笔记 Notes for Statistics I
  17. 实现微信打开网页时,获取当前微信用户信息(Java)(基于snsapi_userinfo方式)
  18. 手机游戏真的那么好赚钱吗?
  19. 【解决】Keil中创建工程时出现-arm_math.h(xxx): warning: #xxxx-D: unrecognized GCC pragma错误
  20. NandFlash 驱动分析与基础功能实现

热门文章

  1. layui 怎么设置点击图片放大_layui图片如何放大
  2. 总结2019大前端开发十大战略性技术布局
  3. 域前置,水太深,偷学六娃来隐身
  4. 只用显示器连接云服务器,显示器连接云服务器
  5. Cesium中gltf模型的坐标系
  6. 仿微信发送位置(高德地图定位)
  7. 我国数据要素统一大市场构建的问题与对策
  8. return的返回用法
  9. 聚合API文档阅读帮助
  10. 如何快速查找下载外文文献,哪个文献下载网站好用