【Maven】—使用Idea创建maven webapp项目遇到的问题总结



操作步骤:

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中的刷新按钮。