探究如何永久更改Maven的Dynamic Web Project版本及pom.xml默认配置
一:问题
在用eclipse创建一个maven project (webApp)时,我们一般会要进行许多麻烦的配置,比如
1.更改Java jdk版本为1.7或1.8(默认1.5)
2.补全src/main/java, src/main/resources, src/test/java, src/test/resources, 这四个目录(默认只有src/main/resources)
3.更改Dynamic Web Project的版本为3.0或3.1 (默认2.3)
4.配置pom.xml文件(默认只有junit还是3.X)
二:解决
1.对于第一个问题可以在我们的用户配置settings.xml里配置下述代码,机器上的jdk是多少就写多少。
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
2.第二个问题博主没有想到太好的解决办法,网上有作者推荐了一种不太健全的方法,如下:
右击项目构建路径build path:
显而易见,这种方法为我们多建立了一个源文件夹,我们移除,然后增加没有的src/test/resources源文件夹。
三:创新
上面两种方法百度谷歌都是可以搜到一大堆的,对于后面两个问题,笔者百度了好久都没有找到,
网络上广为流传的解决方案,也都是新建项目后再在项目上进行更改,治标不治本。
于是笔者想到了修改maven底层文件更改默认配置的思路:
maven的底层文件这么多,我们如何得知该修改哪一个呢?看下面这幅图:
没错,我们的maven模板就来源于这个!然后我们在maven的本地仓库中搜索,找到了具有相同名称的jar包:
我们打开这个压缩包,查看到目录为:
打开pom.xml发现,这正是我们需要的默认模板。默认的模板排版既不简洁也缺少我们的默认servlet API和tomcat容器(或jetty),我们更改一下:
这样看起来是不是美观了,而且每次新建项目也不需要我们再重复再做相同的工作。
这样就解决了第四个问题,那第三个如何解决呢?简单!我们找到
web.xml,更改里面的默认代码为:
保存后,新建项目,我们发现默认的Dynamic Web Project的版本变成3.0,证明思路是可行的。
我们发现还有一个问题,就是display-name属性值是固定的,我们不用maven的时候都是和项目名称一模一样的,那我们如何配置?有办法!我们找到上面的pom.xml发现里面使用了EL表达式,
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
<packaging>war</packaging>
我们可以尝试借鉴这段代码,在web.xml中使用!上图:
保存,新建项目!我们惊喜的发现项目名称已经实现自动配置,说明我们的思路是正确!
四:结束
工欲善其事必先利其器
如果觉得配置麻烦可以直接下载笔者配置好的jar包,直接替换使用
下载地址:点击打开链接
--------------------
转载复制请注明出处:http://blog.csdn.net/yueshutong123/article/details/79273036
探究如何永久更改Maven的Dynamic Web Project版本及pom.xml默认配置的更多相关文章
- Eclipse 使用maven创建Dynamic Web Project
今天看到spring的官网首页已经没有下载连接了,建议使用maven构建spring项目.虽然maven已经不是新技术,但是这个我还没用过,谷歌走起! 通常创建项目都是用Eclipse,前几年还是My ...
- Eclipse使用Maven创建Dynamic Web Project
1. 点击File->New->Other,在弹出的对话框中选择Maven->Maven Project: 2. 点击Next,选择maven-archetype-webapp: 3 ...
- eclipse没有(添加)"Dynamic Web Project"选项的方法【转载】
第一种方法: 你安装的是专门开发java项目的,而Dynamic Web Project 属于J2EE技术,所以你要专门下载一个集成了J2EE插件的Eclipse,(eclipse-jee-heli ...
- eclipse没有(添加)"Dynamic Web Project"选项的方法
建议使用代理lantern,否则可能要花很长时间显示和下载插件 http://www.dabu.info/eclipse-no-add-dynamic-web-project-option.html ...
- 如何在eclipse jee中创建Maven project并且转换为Dynamic web project
如何在eclipse jee中创建Maven project并且转换为Dynamic web project 注意:该文档只针对以下eclipse版本,如图 为了方便,我将我本地的压缩包放在了微云网盘 ...
- (转)Dynamic Web project转成Maven项目
本文转载自:http://my.oschina.net/twosnail/blog/369125 1.新建Dynamic Web Project 1.File -> New -> Othe ...
- git上导出的maven项目转成正常的Dynamic web project
项目地址:http://git.oschina.net/jiafuwei0407/springmvc,springmvc maven项目 包含日志的测试 restful api 如何在eclipse ...
- 【project】【Maven】dynamic web module 3.1 requires 1.7
Maven导入和新建java web 项目时可能报的错. 解决方案: 1.保证 在eclipse 构建 web中关于java版本有三处需要修改统一: 右击项目,选择“propertie”===> ...
- Mac 下 Eclipse 添加 Dynamic Web Project 并配置 Tomcat
最近拿到了一个 Dynamic Web Project,我的 Mac 上的 Eclipse 之前没有过这类型的项目,所以导入之后无法正常运行.下面是我记录的如何配置 Eclipse 使之能够运行 Dy ...
随机推荐
- Android IPC机制(三)使用AIDL实现跨进程方法调用
上一篇文章中我们介绍了使用Messenger来进行进程间通信的方法,但是我们能发现Messenger是以串行的方式来处理客户端发来的信息,如果有大量的消息发到服务端,服务端仍然一个一个的处理再响应客户 ...
- 适用于VS C++环境的注释代码段,可以让你的代码被使用时有高可读性的注释
编码时,在对高级语言(C#/VB etc)函数的访问时,经常会有很明确的函数功能提示,参数提示,与返回值提示.微软的VisualStudio C++集成开发环境同样有这样的功能,只是常见开源的代码很少 ...
- tab 切换实现方法
ul li 实现方法(只适用于,一个页面只有一组ul>li) <!--menu--> <div class="nav"> <ul class=& ...
- ERP服务启动后无法连接数据库的解决方法
请安照步骤一步一步走,一个方法一个方法试. 方法一: 第一步,退出ERP 第二步,卸载sql服务,操作方法如下(win+R—输入cmd—输入sc delete mysql_sl 回车键) 第三步,重启 ...
- BurpSuit2.0专业版破解
简介 Burp Suite 是用于攻击web 应用程序的集成平台.它包含了许多Burp工具,这些不同的burp工具通过协同工作,有效的分享信息,支持以某种工具中的信息为基础供另一种工具使用的方式发起攻 ...
- c/c++ 标准容器 vector的内存空间是如何自动增长的
c/c++ 标准容器 vector的内存空间是如何自动增长的 vector,string,deque的内存存储机制:在一个连续的内存空间存储,所以才支持下标操作. vector的课题:由于容器的大小是 ...
- 函数指针的返回值是指针数组,数组里放的是int;函数指针的返回值是指针数组,数组里放的是int指针
函数指针的返回值是指针数组,数组里放的是int 函数指针的返回值是指针数组,数组里放的是int指针 #include <stdio.h> #include <stdlib.h> ...
- LeetCode算法题-Count Primes(Java实现)
这是悦乐书的第190次更新,第193篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第49题(顺位题号是204).计算小于非负数n的素数的数量.例如: 输入:10 输出:4 ...
- LeetCode算法题-Rotate Array(Java实现)
这是悦乐书的第184次更新,第186篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第43题(顺位题号是189).给定一个数组,将数组向右旋转k步,其中k为非负数.例如: ...
- JavaScript中的Generator函数
1. 简介 Generator函数时ES6提供的一种异步编程解决方案.Generator语法行为和普通函数完全不同,我们可以把Generator理解为一个包含了多个内部状态的状态机. 执行Genera ...