本文转载自:
https://blog.youkuaiyun.com/u013468917/article/details/52662613
本文主要记录个人在maven使用的过程中遇到的问题、疑惑以及经过我的测试可行的一些解决方案。
说明一下:我使用的开发工具是eclipse javaee版
1、配置maven的本地仓库存储位置
Maven默认的本地仓库存储在:C:\用户目录\.m2/repositorymaven下载的jar包长期累积会有几个g,占用了原本就紧缺的C盘空间。可以通过配置更改默认的仓库存储目录。
打开MAVEN_HOME/conf/setting.xml文件写入:
<localRepository>E:\repository</localRepository>
保存后复制一份在用户目录/.m2/目录下。这样下载的jar包都会存储在E盘了。
2、maven下载jar包太慢
在pom.xml中添加依赖后,会自动下载并添加这些jar包,对于公司用户来说,一般都有自己的远程仓库,但是对于个人就只能从远在国外的中央仓库下载了,速度很慢!好在我们可以使用阿里的镜像大大提升速度:
在setting.xml文件中找到mirrors标签,在其中添加:
- <mirror>
- <id>alimaven</id>
- <name>aliyun maven</name>
- <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
- <mirrorOf>central</mirrorOf>
- </mirror>
- </mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
速度的提升还是很明显的。
3、如何创建maven项目
这个对于初学者来说还是有些坑的。一般是 file-new-project输入maven找到Maven Project 点击next。
这是会看到:
Create a simple project(skip archetype seletion) 这个选项,在决定勾选还是不勾选之前要了解一下 maven里的archetype 是个什么概念,官方的解释是这样的:
Archetype is a Maven project templating toolkit.
谷歌翻译一下就是:
原型是一个Maven项目模板工具包。
恩,还是不好理解再看看官方怎么说:
An archetype is defined as an original pattern or model from which all other things of the same kind are made. The name fits as we are trying to provide a system that provides a consistent means of generating Maven projects. Archetype will help authors create Maven project templates for users, and provides users with the means to generate parameterized versions of those project templates.
英语好的可以自己理解,这里说一下我的理解:
其实就是项目模板,方便开发者快速创建项目,比如你要做个网站就选个maven-archetype-webapp这样一个web工程就直接出来了。
参考: http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
回到上面勾不勾选的问题,如果你只是想体验一下maven,或者仅仅是想写个java程序连接redis玩玩。 http://blog.youkuaiyun.com/u013468917/article/details/52649217
直接勾选就可以了这时默认给你选的是 maven-archetype-quickstart
如果要创建一个用maven管理依赖的web工程,不要勾选(默认就是不勾选)点击下一步,在filter框中输入web,选定过滤出的那个archetype 下一步,继续往下看。
4、创建maven项目时Group Id和Arifact Id怎么填?
GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
一般GroupID就是填com.leafive.test这样子。ArtifactID填项目名。
5、如何找到我想引用的包的坐标?
一般从两个地方找:开发这个工具的官方网站和maven的仓库网站( http://mvnrepository.com/)。
比如你要用spring,可以到spring官网上找,也可以在maven的仓库网站直接搜,一般后者比较简便。
6、要不要关掉build automatically
Eclipse创建maven webapp的时候,一直卡在下面的界面上,提示:Blocked The user operation is waiting for Creating maven-archetype-webapp to complete。
遇到这种情况有人给出的解决方案是关掉build automatically(在project选项卡下),关掉之后我发现pom.xml中的依赖不自动把jar包导进来了,只好重新勾选上才回复正常。
不建议初学者关掉,可以试试本文第二条的建议,也许就不卡了呢。
7、恩,未完待续
</div>
</div>