一:问题

在用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默认配置的更多相关文章

  1. Eclipse 使用maven创建Dynamic Web Project

    今天看到spring的官网首页已经没有下载连接了,建议使用maven构建spring项目.虽然maven已经不是新技术,但是这个我还没用过,谷歌走起! 通常创建项目都是用Eclipse,前几年还是My ...

  2. Eclipse使用Maven创建Dynamic Web Project

    1. 点击File->New->Other,在弹出的对话框中选择Maven->Maven Project: 2. 点击Next,选择maven-archetype-webapp: 3 ...

  3. eclipse没有(添加)"Dynamic Web Project"选项的方法【转载】

    第一种方法: 你安装的是专门开发java项目的,而Dynamic Web Project  属于J2EE技术,所以你要专门下载一个集成了J2EE插件的Eclipse,(eclipse-jee-heli ...

  4. eclipse没有(添加)"Dynamic Web Project"选项的方法

    建议使用代理lantern,否则可能要花很长时间显示和下载插件 http://www.dabu.info/eclipse-no-add-dynamic-web-project-option.html ...

  5. 如何在eclipse jee中创建Maven project并且转换为Dynamic web project

    如何在eclipse jee中创建Maven project并且转换为Dynamic web project 注意:该文档只针对以下eclipse版本,如图 为了方便,我将我本地的压缩包放在了微云网盘 ...

  6. (转)Dynamic Web project转成Maven项目

    本文转载自:http://my.oschina.net/twosnail/blog/369125 1.新建Dynamic Web Project 1.File -> New -> Othe ...

  7. git上导出的maven项目转成正常的Dynamic web project

    项目地址:http://git.oschina.net/jiafuwei0407/springmvc,springmvc maven项目 包含日志的测试 restful api 如何在eclipse ...

  8. 【project】【Maven】dynamic web module 3.1 requires 1.7

    Maven导入和新建java web 项目时可能报的错. 解决方案: 1.保证 在eclipse 构建 web中关于java版本有三处需要修改统一:  右击项目,选择“propertie”===> ...

  9. Mac 下 Eclipse 添加 Dynamic Web Project 并配置 Tomcat

    最近拿到了一个 Dynamic Web Project,我的 Mac 上的 Eclipse 之前没有过这类型的项目,所以导入之后无法正常运行.下面是我记录的如何配置 Eclipse 使之能够运行 Dy ...

随机推荐

  1. 转载:python生成以及打开json、csv和txt文件

    原文地址:https://blog.csdn.net/weixin_42555131/article/details/82012642 生成txt文件: mesg = "hello worl ...

  2. javascript的介绍、javascirpt的存在形式、javascript注释

    本文内容: javascript的介绍 javascirpt的存在形式 javascript注释 javascript的介绍: javascript是一种解释性脚本语言 它的用途是给html网页增加动 ...

  3. Apache Linux下Apache安装步骤

    Apache简介         Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广 ...

  4. Visual Studio Team Services Demo Generator简介

    Visual Studio Team Services Demo Generator简介 Visual Studio Team Services Demo Generator能够帮助我们在Visual ...

  5. django 下载文件

    方法一. from django.http import StreamingHttpResponse def big_file_download(request): # do something... ...

  6. 洗礼灵魂,修炼python(63)--爬虫篇—re模块/正则表达式(1)

    爬虫篇前面的某一章了,我们要爬取网站页面源代码的数据,要从中获取到我们想要的数据,是不是感觉很费力,确实费力对吧?那么有没有什么有利的工具来解决这个问题呢?那就是这一篇博文的主题—— 正则表达式简介 ...

  7. 分组统计SQL

    Itpub上遇到一个求助写SQL的帖子,感觉很有意思,于是写出来看看,要求如下: 有个计划表1, 记录物料的年度计划量 有个实际使用情况表2,记录实际使用情况. 最后要出个统计表,把计划和实际的数据结 ...

  8. MySQL复制错误1837的相关缺陷一例

    故障现象 主从gtid报错,复制错误1837,这个复制故障可以说是第一次遇到. Last_Errno: 1837 Last_Error: Error 'When @@SESSION.GTID_NEXT ...

  9. VueJs入门(一)

    VueJs学习笔记:基本概念及简单demo Vue官方介绍:简单小巧的核心,渐进式技术栈,足以应付任何规模的应用. 简单小巧指的是vue.js压缩后仅有17KB,量轻.渐进式指的是我们学习和使用vue ...

  10. 基于PHP的颜色生成器

    <?php  function randomColor()  {      $str = '#';      for($i = 0 ; $i < 6 ; $i++)     {      ...