操作步骤:
1.File–>New–>Project
2.选择maven-archetype-webapp
3.填写groupId和artifactId
4.填写maven settings文件的地址、本地仓库的地址
5.填写projectName
问题:
1.本机电脑上不同maven项目所用的仓库地址不一致,有的配置的是局域网内的地址,如果本机没处在局域网中就不能用。所以,我让自己电脑中的所有项目都使用一个本地仓库,但是为不同的项目配置不同的settings.xml。下面是我为自己试验项目配的settings.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>D:\maven\repositorylocalRepository>
<mirrors>
<mirror>
<id>alimavenid>
<name>aliyun mavenname>
<url>http://maven.aliyun.com/nexus/content/groups/public/url>
<mirrorOf>centralmirrorOf>
mirror>
mirrors>
settings>
所以在上面的步骤4时,需要修改user settings.xml文件的位置。
2.idea maven mvn archetype:generate 速度缓慢,控制台一直显示Generating project in Batch mode,状态栏一直Running。
webapp的archetype下载缓慢,项目的目录结构一直创建不出来。
我们需要在上述步骤的第4步时,添加一个属性项。这样archetype就不会从远程仓库加载。
archetypecatalog的值可以是remote,internal,local区别如下:
remote,远程Maven库中提供的模板。mvn archetype:generate默认使用该类模板
internal,Apache Maven项目默认提供的模板。mvn archetype:generate -DarchetypeCatalog=internal使用该类模板
local,本地Maven库中提供的模板。mvn archetype:generate默认使用该类模板,作为remote的补充。Maven初始为空,执行mvn install时会将当前项目加入local模板库
总结:
1.archetype
archetype: In short, Archetype is a Maven project templating toolkit。
maven-archetype-webapp : An archetype to generate a sample Maven Webapp project.
archetype即为创建maven项目使可以借助的项目模板。
2.{user}.m2\settings.xml 与maven安装目录下\conf\settings.xml的关系
这里涉及到一个配置的优先级问题
配置优先级从高到低:pom.xml—>profiles.xml—>user settings —>global settings
如默认的{user}.m2\settings.xml就属于user settings
或者用户自己定义的其他路径的settings.xml也属于user settings(某个用户的配置)。
而global settings(全局配置),就是指安装目录中conf下的settings.xml.
当上述几个文件中出现了相同的配置项时,以上的优先级就会发生作用,高优先级的就会覆盖低优先级的。
3.私服
区别于本地仓库和中央仓库,一般在局域网内部署。
maven clean install 将jar包安装在本地
maven clean install 将jar包部署在私服中
4.如果不依赖于maven的archetype,自己手动创建项目目录,需要清楚目录结构,并在pom.xml中配置
src
–main
—java
—resources
—webapp
–test
—java
—resources
<packaging>warpackaging>
然后点击maven project这个window中的刷新按钮。