此文章是为记录个人创建maven项目时遇到的问题以及解决方法
一、安装配置Maven
1、下载:https://maven.apache.org/download.cgi
Binary是我们需要下载的二进制文件
Source是maven的源文件
zip是Windows的压缩方式
tar.gz是Linux的压缩方式
2、配置MAVEN环境
创建M2_HOME(这个名字可以自己起)
M2_HOME(maven的目录):D:\Tools\JAVA\apache-maven-3.5.2
给path添加(注意;号分隔之前的)
path:%M2_HOME%\bin;
运行命令查看环境是否配置成功
3、设置setting.xml文件(详细配置介绍可以参考官方文档http://maven.apache.org/settings.html)
进入maven目录apache-maven-3.5.2\conf打开setting.xml文件
配置maven仓库路径(在
E:\Maven_repository
为自己的Maven配置国内镜像源(推荐)
打开自己的 Maven根目录/conf/setting.xml
在
alimaven
central
aliyun maven
http://maven.aliyun.com/nexus/content/repositories/central/
repo
central
Human Readable Name for this Mirror.
http://repo1.maven.org/maven2/
或者
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
uk
central
Human Readable Name for this Mirror.
http://uk.maven.org/maven2/
CN
OSChina Central
http://maven.oschina.net/content/groups/public/
central
nexus
internal nexus repository
http://repo.maven.apache.org/maven2
central
或者
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
alimaven
central
aliyun maven
http://maven.aliyun.com/nexus/content/repositories/central/
ibiblio
central
Human Readable Name for this Mirror.
http://mirrors.ibiblio.org/pub/mirrors/maven2/
jboss-public-repository-group
central
JBoss Public Repository Group
http://repository.jboss.org/nexus/content/groups/public
central
Maven Repository Switchboard
http://repo1.maven.org/maven2/
central
repo2
central
Human Readable Name for this Mirror.
http://repo2.maven.org/maven2/
===========================================================================
命令行创建项目
创建Maven的Web项目:mvn archetype:generate -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeGroupId=org.apache.maven.archetypes -DinteractiveMode=false
创建Maven的普通java项目:mvn archetype:generate -DgroupId=packageName -DartifactId=projectName -DinteractiveMode=false
mvn eclipse:eclipse
mvn eclipse:clean
mvn eclipse:m2eclipse
--src
-----main
----------java
----------resources
-----test
---------java
---------resources
--target
--pom.xml
src/main/java | application library sources - java源代码文件 |
src/main/resources | application library resources - 资源库,会自动复制到classes文件夹下 |
src/main/filters | resources filter files - 资源过滤文件 |
src/main/assembly | assembly descriptor - 组件的描述配置,如何打包 |
src/main/config | configuration files - 配置文件 |
src/main/webapp | web application sources - web应用的目录,WEB-INF,js,css等 |
src/main/bin | 脚本库 |
src/test/java | 单元测试java源代码文件 |
src/test/resources | 测试需要的资源库 |
src/test/filters | 测试资源过滤库 |
src/site | 一些文档 |
target/ | 存放项目构建后的文件和目录,jar包,war包,编译的class文件等;Maven构建时生成的 |
pom.xml | 工程描述文件 |
LICENSE.txt | license |
README.txt | read me |
二、创建maven项目(intellij版)
1、创建前的准备,设置intellij默认(Default)的maven
在maven的runner选项上设置maven vm options:-Dmaven.multiModuleProjectDirectory=$M2_HOME
1、打开intellij创建maven模板
2、填写groupID和artifact ID
3、选择安装路径、配置文件路径、仓库路径
在创建maven项目的时候,加archetypeCatalog=internal
4、设置项目名及其他
1、项目模板创建失败没有src目录
IDEA报错-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.[ERROR] Maven execution terminated abnormally (exit code 1)
1、可能是jdk版本不匹配
2、需要在maven的runner选项上设置maven vm options:-Dmaven.multiModuleProjectDirectory=$M2_HOME
因为没有设置intellij默认(Default)的maven runner和jdk,所以在以maven模板创建时得不到需要的multiModuleProjectDirectory和jdk信息从而无法创建或下载某些依赖
===========================================================================
三、创建maven项目(eclipse版)
1、创建前的准备,为eclipse配置maven
打开eclipse----》Window----》preference
配置maven的settings.xml和仓库路径
2、创建maven web项目
选择模板(这里我选择了WEB模板,可以根据自己的需求选择不同模板)
填写GroupID 和 artifactID,点击finish就创建好了
1、会有JSP报错,The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
这是因为我们缺少依赖。
方法一:在pom.xml文件中添加servlet-api(推荐)
javax.servlet
servlet-api
2.5
方法二:直接指向引tomcat,引用其中的所有依赖(不推荐)
添加方式有很多,我这里记录下我的方式
右键---->properties---->Java Build Path---->add Library---->server Runtime
2、缺少以下3个文件夹
src/main/java
src/test/java
src/test/resources
右键项目根目录点击New -> Source Folder,
建出这三个文件夹。注意不是建普通的Folder,而是Source Folder。
项目或者文件加上右键 new sourceFolder,正常情况下是没有问题的
如果出现了下面的这情况,其实是真的存在的只是我们看不到
检查创建使用的JDK版本,如果是1.5请设置为1.7或更高版本(1.6没有试验过)
右键项目属性后,点击Java Build Path-->Libraries-->JRE System Library[J2SE-1.5]-->Edit..-->Workspace default JRE