前言:对于微软技术死忠的笔者来讲,学习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
笔者写做时使用的是:Apache Maven 3.3.9 下载完毕后将文件解压出来,能够看到如下文件
(记住你解压的路径地址下一个步骤须要)
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 可查看到如下输出即表示配置成功
(以上为借的图)
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>
4.导入eclipseapp
在Package Explorer中邮件找到Import
在弹出的窗口内找到Maven->Existing Maven Projects
选择路径后点finish按钮便可完成
(以上为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吧