探究如何永久更改Maven的Dynamic Web Project版本及pom.xml默认配置

时间:2022-01-11 19:33:07

一:问题

在用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:

探究如何永久更改Maven的Dynamic Web Project版本及pom.xml默认配置探究如何永久更改Maven的Dynamic Web Project版本及pom.xml默认配置

探究如何永久更改Maven的Dynamic Web Project版本及pom.xml默认配置

显而易见,这种方法为我们多建立了一个源文件夹,我们移除,然后增加没有的src/test/resources源文件夹。

三:创新

上面两种方法百度谷歌都是可以搜到一大堆的,对于后面两个问题,笔者百度了好久都没有找到,

网络上广为流传的解决方案,也都是新建项目后再在项目上进行更改,治标不治本。

于是笔者想到了修改maven底层文件更改默认配置的思路:

maven的底层文件这么多,我们如何得知该修改哪一个呢?看下面这幅图:

探究如何永久更改Maven的Dynamic Web Project版本及pom.xml默认配置

没错,我们的maven模板就来源于这个!然后我们在maven的本地仓库中搜索,找到了具有相同名称的jar包:

探究如何永久更改Maven的Dynamic Web Project版本及pom.xml默认配置

我们打开这个压缩包,查看到目录为:

探究如何永久更改Maven的Dynamic Web Project版本及pom.xml默认配置

打开pom.xml发现,这正是我们需要的默认模板。默认的模板排版既不简洁也缺少我们的默认servlet API和tomcat容器(或jetty),我们更改一下:

探究如何永久更改Maven的Dynamic Web Project版本及pom.xml默认配置

探究如何永久更改Maven的Dynamic Web Project版本及pom.xml默认配置

这样看起来是不是美观了,而且每次新建项目也不需要我们再重复再做相同的工作。

这样就解决了第四个问题,那第三个如何解决呢?简单!我们找到

探究如何永久更改Maven的Dynamic Web Project版本及pom.xml默认配置

web.xml,更改里面的默认代码为:

探究如何永久更改Maven的Dynamic Web Project版本及pom.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中使用!上图:

探究如何永久更改Maven的Dynamic Web Project版本及pom.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没有&lpar;添加&rpar;&quot&semi;Dynamic Web Project&quot&semi;选项的方法【转载】

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

  4. eclipse没有&lpar;添加&rpar;&quot&semi;Dynamic Web Project&quot&semi;选项的方法

    建议使用代理*,否则可能要花很长时间显示和下载插件 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. &lpar;转&rpar;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&period;1 requires 1&period;7

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

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

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

随机推荐

  1. 【小白的CFD之旅】10 敲门实例

    按黄师姐的说法,做好第一个案例很重要.第一个案例既可以帮助理解CFD的工作流程,还可以帮助熟悉软件的操作界面. 黄师姐推荐的入门案例来自于ANSYS官方提供的培训教程,是一个关于交叉管内流动混合的案例 ...

  2. iOS 自定义图片和文字垂直显示按钮&lt&semi;上面是图片&comma;文字显示下面&gt&semi;

    #import <UIKit/UIKit.h> @interface VerticalButton : UIButton @end #import "VerticalButton ...

  3. IOS编程 图片缓存模块设计

    手机客户端为什么会留存下来?而不是被一味的Wap替代掉?因为手机客户端有Wap无可替代的优势,就是自身较强的计算能力. 手机中不可避免的一环:图片缓存,在软件的整个运行过程中显得尤为重要. 先简单说一 ...

  4. python sqlite中通过字段名获取查询结果

    在连sqlite数据库时,用fetchall()查询结果,是用row[0],row[1]这样的方式来打印每列的结果 但是我想用row[“字段名”]方式查询怎么办? import sqlite3 con ...

  5. git 删除远程源,新增加源

    git remote remove origin git remote add origin git@XXXX

  6. redis 列出所有的键

    > KEYS * (empty list or set)

  7. C&num;调用ArcGIS REST服务

    ArcGIS REST API提供了简单.开放的接口来访问和使用ArcGIS Server发布的服务.使用ArcGIS REST API通过URL可以获取和操作每一个服务中的所有资源和操作. 1.使用 ...

  8. MooFest&lowbar;二维树状数组

    Description Every year, Farmer John's N (1 <= N <= 20,000) cows attend "MooFest",a s ...

  9. 简单的MySQL数据库主从同步配置

    Master配置: 代码如下 复制代码 log-bin = mysql-binserver-id = 1binlog-do-db = powerdns #要同步的数据库 Master新增slave账号 ...

  10. Lucene基础(一)--入门

    Lucene介绍 lucene的介绍,这里引用百度百科的介绍Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引 ...