eclipse使用maven创建web3.0项目

简介: 挺别扭的,eclipse和maven发展了这么久,二者都没有很好的解决这个问题。默认情况下,使用maven骨架撞见的webapp只支持servlet2.3,eclipse又不允许随便修改为3.0。

挺别扭的,eclipse和maven发展了这么久,二者都没有很好的解决这个问题。

默认情况下,使用maven骨架撞见的webapp只支持servlet2.3,eclipse又不允许随便修改为3.0。

网上流传最多的版本可能是修改项目目录中.settings/org.eclipse.wst.common.project.facet.core.xml文件,然后还要注意一堆东西。

我梳理了一种办法,感觉处理起来相对合理,如下:

1.创建普通的webapp项目

点击菜单“File - New - Other - Maven - Maven Project”;

Next;

Next;

Catalog 选择"Internal",选中最后一个骨架"maven-archetype-webapp","Next";

输入你自己的groupId,artifactId,"Finished"

2.添加maven插件

右键点击项目名,选择“Maven - Add Plugin”;

在搜索框输入"maven-compiler-plugin",选中"org.apache.maven.plugins"开头的插件,"OK";

在搜索框输入"maven-eclipse-plugin",选中"org.apache.maven.plugins"开头的插件,"OK";

此时插件只是插入了基本模板:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.6.0</version>
</plugin>
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-eclipse-plugin</artifactId>
  <version>2.10</version>
</plugin>

3.调整依赖

非必须,只是建议。

双击打开pom.xml,并切换到"Dependencies"选项卡;

建议:选中junit 3.8.1,点击"Properties",版本改为"4.12";

点击"Add",在搜索框输入javax.servlet-api,选择"javax.servlet"开头的依赖,并调整版本为"3.1.0",scope改为"provided","OK"

以上基本上依靠eclipse就可以实现,不需要直接修改pom。这里只是列出xml片段:

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.1.0</version>
  <scope>provided</scope>
</dependency>

4.调整第二步中的插件配置

调整compiler插件

`</plugin>`上面插入一个空行;

按"Alt + /",选择"configuration"插入节点;

在"configuration"节点内重复上一步,插入encoding=utf8,source=1.8,target=1.8;

提示:如果你能记住这几个单词,而且又安装了emmet的话,不放输入"configuration>encoding{UTF-8}+source{1.8}+target{1.8}"按下Tab看看。

调整eclipse插件

同上,增加"configuration"及下面的节点wtpversion=2.0,jeeversion=6.0;

你还想知道emmet表达式?好吧,"configuration>wtpversion{2.0}+jeeversion{6.0}"

最终插件配置

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.6.0</version>
    <configuration>
      <encoding>UTF-8</encoding>
      <source>1.8</source>
      <target>1.8</target>
    </configuration>
  </plugin>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <version>2.10</version>
    <configuration>
      <wtpversion>2.0</wtpversion>
      <jeeversion>6.0</jeeversion>
    </configuration>
  </plugin>

5.重新生成eclipse项目构建

右键点击项目目录,选择"Run As - Maven build..."(注意选带...的);

在Goals中输入"eclipse:clean eclipse:eclipse",点"Run"

6.重建web.xml

删除src/main/webapp/WEB-INF/web.xml;

右键点击项目目录,选择"Jave EE Tools - Generate Deployment Descriptor Stub"

7.恢复现场

第6步执行完后,你可能会发现,右键点击项目名,”Maven”选项没有了。别急,恢复一下现场就可以了。

右键点击项目名,依次选择"Configure - Convert to Maven Project"。

右键点击项目名,选择"Maven - Update Project..."

8.不太好的消息

maven3将maven-eclipse-plugin标记为了’Deprecated’,说是交给eclipse来处理,但是eclipse根本没有处理好这个问题,蛇精病。

好在只是标记为’Deprecated’,说不准多少年内还能用的。

目录
相关文章
|
27天前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
42 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
26天前
|
缓存 JSON 监控
如何在项目中保证 Web 组件化的性能
保证 Web 组件化的性能需要从多个方面入手,综合运用各种优化方法和策略。通过持续的优化和改进,能够提高组件化的整体性能,为用户提供更好的体验,同时也有助于提高项目的开发效率和质量。
39 8
|
26天前
|
存储 前端开发 JavaScript
如何在项目中高效地进行 Web 组件化开发
高效地进行 Web 组件化开发需要从多个方面入手,通过明确目标、合理规划、规范开发、加强测试等一系列措施,实现组件的高效管理和利用,从而提高项目的整体开发效率和质量,为用户提供更好的体验。
30 7
|
1月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
32 4
|
1月前
|
中间件 Go API
Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架
本文概述了Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架。
80 1
|
1月前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
136 8
|
1月前
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
107 3
|
1月前
|
JavaScript 前端开发 开发工具
web项目规范配置(husky、eslint、lint-staged、commit)
通过上述配置,可以确保在Web项目开发过程中自动进行代码质量检查和规范化提交。Husky、ESLint、lint-staged和Commitlint共同作用,使得每次提交代码之前都会自动检查代码风格和语法问题,防止不符合规范的代码进入代码库。这不仅提高了代码质量,还保证了团队协作中的一致性。希望这些配置指南能帮助你建立高效的开发流程。
46 5
|
1月前
|
JavaScript 前端开发 数据安全/隐私保护
Web开发者必看:手把手教你如何轻松播放m3u8流地址,解锁视频播放新技能,让你的项目更上一层楼!
【10月更文挑战第23天】随着互联网技术的发展,m3u8格式因良好的兼容性和高压缩率被广泛用于网络流媒体传输。本文介绍如何在Web端播放m3u8流地址,包括引入视频播放器(如Video.js)、创建播放器容器、初始化播放器及播放m3u8流的具体步骤。此外,还涉及处理加密m3u8流的示例。
292 1
|
2月前
|
缓存 IDE Java
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
100 1

推荐镜像

更多