1. 创建Maven项目速度慢问题
- 原因:
IDEA根据maven archetype的本质,其实是执行mvn archetype:generate命令,该命令执行时,需要指定一个archetype-catalog.xml文件。
该命令的参数-DarchetypeCatalog,可选值为:remote,internal ,local等,用来指定archetype-catalog.xml文件从哪里获取。
remote——指向Maven中央仓库的Catalog
internal——maven-archetype-plugin内置的
local——本地的,位置为~/.m2/archetype-catalog.xml
默认为remote,即从 http://repo1.maven.org/maven2/archetype-catalog.xml路径下载archetype-catalog.xml文件。
http://repo1.maven.org/maven2/archetype-catalog.xml 文件约为3-4M,下载速度很慢,导致创建过程卡住。 -
解决办法:
方法1:导入国内反射
方法2:在maven的VM Options加上-DarchetypeCatalog=internal参数,如下:
方法3:在创建Maven项目时加上 archetypeCatalog=internal 参数,如下:
2. Projec中文件夹图标变成红色
- 原因:红色是因为你安装了版本控制工具(例如git,svn等),更新了代码,没有提交上去,起提示作用,不影响实际功能。
- 解决办法:选择file–>setting–>version Controller(查看相关设置)。
3. 什么是GrouID/ArtifactID
- 这两个属性,就可以理解成地球上的经纬度,maven仓库,就是相应的地球。当我们要去某一个点找寻龙珠的时候,必要通过龙珠搜索器才能找得到。龙珠搜索器就是通过“经纬度”才能定位到龙珠的地点!
- GroupID是指项目里面的标识,具体指对应的java的包结构,一般写法是com.mycom.myapp 其中mycom是指你公司的域名,例如com.google.myapp。
- GroupID呢,分为三段。
第一段:域。常见的有:cn(china),org(非营利组织),com(商业组织)
第二段:组织。如果你是美团的,就是meituan。如果是个人的小项目,比如说,就是Only。
第三段:子项目。你创建这个项目,肯定是有名字的对伐。这里,就写你项目的名字。 - ArtifactID是指项目的标识,大白话就是你的项目名。
- ArtifactID呢,我觉得一段两段都可以。
一段怎么讲?就是子项目名就ok
两端怎么说?子项目还能继续细分,比如测试项目,那就是xxx-test。再比如说练习项目,那就是xxx-train。
4. 配置SpringMVC配置文件时解析器放置位置
-
外部解析器标签需要放在内部解析器标签上面,否则访问时输入的外部解析器的ID会被当做内部的资源名字。
正确配置方式如下: