Maven踩过的坑

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

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

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

1.下载

地址: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.使用命令行创建工程

除了命令行创建工程之外还可以使用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.导入eclipse

在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 中安装 jar

如之前文中提到的,maven可以帮你管理项目的整个生命周期,以上命令则对应了发布前你所
希望操作的周期,由于笔者没有深入了解过执行顺序,仅从install命令中可以简单看出,
maven的默认发布顺序大概为clean->compile->test->package,所以一般使用install即可

----------!

找到一篇较为详尽的教程
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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值