MyEclipse 创建 Maven 项目及常见问题
目录
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 下的 Maven 环境就搭建好了,下载的 jar 包以及对应的源代码和 javadoc,都将存放到我们建立的 Maven 仓库中。
创建 Maven 项目
在 MyEclipse 中,选择 new -> Project… -> Maven Project
选择“使用默认的工作空间”。
建立 java 项目,请选择红框中的 maven-archetype-quickstart ;建立 web 项目,请选择蓝框中的 maven-archetype-webapp。
Artifact Id 代表项目名称,填写完成后点击 Finish,静待 Maven 工程的创建。
选中新创建的工程,点击 new -> Source Folder。
自动创建的两个包 com.jing.myMavenProject
看着不爽可以删除。
至此,一个典型的 Maven 项目就建好了,它的目录结构可以是以下两种,分别代表 java 项目和 web 项目。
常见的 Error / Warning
使用 MyEclipse 创建 Maven 项目,经常会遇到一些小问题,特别是在创建 web 项目时,特记录如下:
1. 无尽的 Updating indexes
配置完 Maven 环境后,以后每次打开 MyEclipse,右下角的进度条就会永无止境地 Updating indexes。
虽然我们可以点击蓝圈里的停止,结束这个过程,然而下次打开 MyEclipse,它还会坚持不懈地出现。
解决方法: window -> preferences -> Maven,取消勾选 Download repository index updates on startup
,世界清净了。
2. 不兼容的 jdk
如下图中的Warning
解决方法: 右键点击项目目录中的 JRE System Library,选择 Properyies。
根据本机安装的 jdk 版本,为项目选择合适的 JRE System Library。
3. 找不到超类 HttpServlet
如下图中的Error
这是由于缺少 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 版本不匹配
解决方法:在 Package Explorer 视图中右键单击项目名,选择最后一项 Properties,或者直接选中项目名后 Alt+Enter
进入项目属性设置,选择左侧的 Project Facets,根据 jdk 版本,为 Dynamic Web Services 和 Java 选择合适的 Project Facet 版本。
5. 无法建立源文件夹 src/main/java 和 src/test/java
对于刚建好的 web 项目,可能看起来和上面说过的目录结构不同,就是少了两个源文件夹 src/main/java 和 src/test/java,如果我们想手动创建这些 Source Folder,却可能会遇到些阻碍。
解决方法:同上打开项目属性设置,选择左侧的 Java Build Path,点击 Source 选项卡,选中 missing 的源文件夹,将其移除。
现在就可以创建这些源文件夹了~