MyEclipse 创建 Maven 项目及常见问题

目录

  1. Maven 简介
  2. 配置 Maven 环境
    1. 下载
    2. 配置环境变量
    3. 建立 Maven 仓库
    4. 配置 MyEclipse
  3. 创建 Maven 项目
  4. 常见的 Error / Warning
    1. 无尽的 Updating indexes
    2. 不兼容的 jdk
    3. 找不到超类 HttpServlet
    4. project facet 版本不匹配
    5. 无法建立源文件夹

Maven 简介

Apache Maven,是一个软件(特别是 Java 软件)项目管理及自动构建工具,由 Apache 软件基金会所提供。基于项目对象模型( Project Object Model , POM )概念,Maven 利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。

配置 Maven 环境

1. 下载

请移步下载地址,解压至某个文件夹内,如 D:\apache-maven-3.3.9

2. 配置环境变量

在 Path 的变量值最后添加 D:\apache-maven-3.3.9\bin;,注意和之前的变量值用半角分号隔开。

3. 建立 Maven 仓库

新建一个文件夹作为 Maven 仓库目录,如 D:\maven\repository

D:\apache-maven-3.3.9\conf\settings.xml 文件中添加

<localRepository>D:\maven\repository</localRepository>

将修改后的 settings.xml 文件复制到 D:\maven\ 中。

4. 配置 MyEclipse

window -> preferences -> Maven -> Installations -> Add

Installation home 选择 Maven 的解压目录

配置 MyEclipse

至此,MyEclipse 下的 Maven 环境就搭建好了,下载的 jar 包以及对应的源代码和 javadoc,都将存放到我们建立的 Maven 仓库中。

创建 Maven 项目

在 MyEclipse 中,选择 new -> Project… -> Maven Project

创建 Maven 项目

选择“使用默认的工作空间”。

创建 Maven 项目

建立 java 项目,请选择红框中的 maven-archetype-quickstart ;建立 web 项目,请选择蓝框中的 maven-archetype-webapp。

创建 Maven 项目

Artifact Id 代表项目名称,填写完成后点击 Finish,静待 Maven 工程的创建。

创建 Maven 项目

选中新创建的工程,点击 new -> Source Folder。

创建 Maven 项目

自动创建的两个包 com.jing.myMavenProject 看着不爽可以删除。

创建 Maven 项目

至此,一个典型的 Maven 项目就建好了,它的目录结构可以是以下两种,分别代表 java 项目和 web 项目。

创建 Maven 项目

创建 Maven 项目

常见的 Error / Warning

使用 MyEclipse 创建 Maven 项目,经常会遇到一些小问题,特别是在创建 web 项目时,特记录如下:

1. 无尽的 Updating indexes

配置完 Maven 环境后,以后每次打开 MyEclipse,右下角的进度条就会永无止境地 Updating indexes。

无尽的 Updating indexes

虽然我们可以点击蓝圈里的停止,结束这个过程,然而下次打开 MyEclipse,它还会坚持不懈地出现。

解决方法: window -> preferences -> Maven,取消勾选 Download repository index updates on startup,世界清净了。

结束无尽的 Updating indexes

2. 不兼容的 jdk

如下图中的Warning

不兼容的 jdk

解决方法: 右键点击项目目录中的 JRE System Library,选择 Properyies。

Properties

根据本机安装的 jdk 版本,为项目选择合适的 JRE System Library。

选择合适的 jdk

3. 找不到超类 HttpServlet

如下图中的Error

不兼容的 jdk

这是由于缺少 web 项目所需的 jar 包所导致的,导入相应的 jar 包即可。对于 Maven 项目,我们可以通过配置 pom.xml 来管理所有的 jar 包。

打开项目中的 pom.xml,在 <dependencies> 标签中添加:

<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.1</version>
    <scope>provided</scope>
</dependency>
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

保存后,MyEclipse 会自动下载配置中的 jar 包。jar 包所对应的 dependency,可以从 Maven repository 获取。

4. project facet 版本不匹配

project facet 版本不匹配

解决方法:在 Package Explorer 视图中右键单击项目名,选择最后一项 Properties,或者直接选中项目名后 Alt+Enter 进入项目属性设置,选择左侧的 Project Facets,根据 jdk 版本,为 Dynamic Web Services 和 Java 选择合适的 Project Facet 版本。

Project Facets

5. 无法建立源文件夹 src/main/java 和 src/test/java

对于刚建好的 web 项目,可能看起来和上面说过的目录结构不同,就是少了两个源文件夹 src/main/java 和 src/test/java,如果我们想手动创建这些 Source Folder,却可能会遇到些阻碍。

无法建立源文件夹

解决方法:同上打开项目属性设置,选择左侧的 Java Build Path,点击 Source 选项卡,选中 missing 的源文件夹,将其移除。

移除源文件夹

现在就可以创建这些源文件夹了~

创建源文件夹