Maven踩过的坑

前言:对于微软技术死忠的笔者来讲,学习JAVA灵活又复杂的技术是件多么痛苦的事,开始想念我大微软简单的开发环境搭建以及完整详尽的开发文档,还有那一看就懂的案例教程了...
但是为了工做,依旧不得不继续潜心钻研JAVA技术,好在我同事xunhua是技术大神,笔者在其帮主下避过了很多弯路,笔者决定记录一系列在JAVA技术学习上遇到的问题,以备往后复用html

先介绍下Maven:
Maven是一个采用纯Java编写的开 源项目管理工具。Maven采用了一种被称之为project object model (POM)概念来管理项目,全部的项目配置信息都被定义在一个叫作POM.xml的文件中,经过该文件,Maven能够管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等。目前Apache下绝大多数项目都已经采用Maven进行管理。而Maven自己还支持多种插件,能够方便更灵活的控制项目。
扩充:与Maven差很少齐名的之前还有个Anti,但Anti日渐势衰,如今大部分都开始转向Maven。
吐槽:不得不感叹一句,学JAVA是多么受虐的一件事,技术更新换代的速度太快,以致于须要不断不断地学习新的技术(几乎每半年冒出个很火的)。这是也当初笔者初学编程时选择微软体系的重要缘由之一,.NET的技术更新虽然是每一年1至2年一大更,但运用到实际到生产环节并不建议一直追着最新技术,保持一个版本的技术代沟,能够保证本身少踩一些坑,固然若是精力旺盛又想当大神的,能够一直追着技术潮流的第一浪不断学习...java

步骤概览:
下载->配置环境->使用命令行建立工程->导入eclipseweb

1.下载apache

地址:http://maven.apache.org/download.html

clipboard.png

笔者写做时使用的是:Apache Maven 3.3.9

下载完毕后将文件解压出来,能够看到如下文件

clipboard.png

(记住你解压的路径地址下一个步骤须要)

2.配置环境编程

->!:配置Maven环境前须要安装JDK及配置JDK环境
JDK传送门:http://www.cnblogs.com/tiankong101/p/4226559.html (废话比较多)

->配置Maven环境
新增如下Windows**系统环境变量**
变量名:MAVEN_HOME  变量值: D:\apache-maven-3.3.9 (maven解压出来的路径)
变量名:MAVEN       变量值: %MAVEN_HOME%\bin 
变量名:MAVEN_OPTS  变量值: -Xms256m -Xmx1024m    //(可选)该参数用于配置MAVEN可以使用的内存
                                                 //Xms为容许最小内存,Xmx为容许最大内存 
                                                 //当使用MAVEN编译发生内存溢出错误时即须要提升此参数Xmx数值
                                                 
->在 path 变量最后加上 %MAVEN%;

->测试配置
    Win+R打开cmd命令工具,输入
    ->$mvn -version
    可查看到如下输出即表示配置成功

clipboard.png

(以上为借的图)

3.使用命令行建立工程windows

除了命令行建立工程以外还可使用eclipse插件来建立项目,大神同事说搭建插件环境太复杂,使用cmd命令来建立较为简单,尝试了一下没成功也就放弃了,感兴趣的同窗能够深刻,但我的以为cmd更为直观,前提是会cmd简单命令
->使用转到你想要将工程存放的文件路径
扩充: $cd 为转到命令,从一个盘的路径切到另外一个盘的路径前,须要先切换盘符
好比C:\Documents and Settings要切换到D:\Programe Files
须要要->$D:
而后再->$cd D:\Programe Files
!:使用连续两次tab键能够自动补足文件或文件夹全名

切换好路径后使用
->$mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name} -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
//该命令用于建立web项目
//{project-packaging}为打包名,笔者使用com.calx
//{project-name}为项目名,笔者使用maven-test
或使用
->$mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name} -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
//该命令用于建立QickStart项目

!:参考资料:(http://trinea.iteye.com/blog/1290898)

扩充:让maven下载其余依赖时使用代理
若是没有建立C:\Users\xxx\.m2文件夹则须要自行建立,xxx为你的windows用户名
在.m2文件夹下建立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">
<proxies>
    <proxy>
        <id>MyProxy</id/>                  //代理名
        <active>true</active>             //是否激活
        <protocol>http</protocol>         //代理协议
        <host>xxx.xxx.xxx.xxx</host>       //代理IP地址
        <port>xxxx</port>                 //代理端口
        <username></username>             //代理登陆账号
        <password></password>             //代理登陆密码
        <nonProxyHosts>localost|</nonProxyHosts>
    </proxy>
</proxies>
</settings>

clipboard.png

4.导入eclipseapp

在Package Explorer中邮件找到Import

clipboard.png

在弹出的窗口内找到Maven->Existing Maven Projects

clipboard.png

选择路径后点finish按钮便可完成

clipboard.png

(以上为web项目截图)

5.经常使用命令
mvn clean 清除目标目录中的生成结果
mvn compile 编译源代码
mvn test-compile 编译测试代码
mvn test 运行应用程序中的单元测试
mvn package 依据项目生成 jar 文件
mvn install 在本地 Repository 中安装 jareclipse

如以前文中提到的,maven能够帮你管理项目的整个生命周期,以上命令则对应了发布前你所
但愿操做的周期,因为笔者没有深刻了解过执行顺序,仅从install命令中能够简单看出,
maven的默认发布顺序大概为clean->compile->test->package,因此通常使用install便可webapp

----------!maven

找到一篇较为详尽的教程
http://www.cnblogs.com/leiOOl...

----------!

如下为笔者遇到的问题

1.settings.xml的设置

.m2文件夹下的配置为当前用户配置,因此存放于xxx\\.m2文件夹下的settings.xml只对该xxx用户生效
能够手动编辑配置settings.xml(复制解压出来后的conf文件里的settings.xml模板自行修改)
也能够经过eclipse进行配置,eclipse配参考**详尽的教程**

2.不能建立src/main/java文件夹

提示为文件夹已存在(The folder is already a source folder.)
解决办法为在左侧列表中,src文件夹下main文件夹下建立java文件夹便可
建立完以后java文件夹在左侧列表中不可见,但会跑到上面以Source Folder形势出现
多半是Eclipse的bug吧

clipboard.png

相关文章
相关标签/搜索