Maven小记、供自己学习使用
来源:互联网 发布:nat123用不了免费域名 编辑:程序博客网 时间:2024/04/29 01:49
Maven的出现是为了将程序员从‘打包,发布、、、’中解脱出来。
是一种独立的软件项目管理工具
2,Maven负责整个项目的构建过程。开发人员只需要描述项目基本信息在一个配置文件中:pom.xml。
3,声明式依赖性管理
4,集中的组件库管理
5,文档的自动生成
6,报告的自动生成
Maven工程目录结构:
- src:源代码目录。所有的源代码都被放在了这个目录下。在这个目录下又包括了:
1) main:所有的源代码放在这里。对于Java项目,还有一个下级子目录:java. 对于Flex项目则是flex,。。。
2) test:所有的单元测试类放在这里。
- target:所有编译过的类文件以及生成的打包文件(.jar, .war, ...)放在这里。
- bin:该目录包含了mvn运行的脚本,这些脚本用来配置java命令,准备好classpath和相关的java系统属性,然后执行java命令。
编译: mvn compile
单元测试: mvn test
构建并打包: mvn package
清理: mvn clean
安装 mvn clean install
pom.xml解析:
modelVersion是4.0.0;groupId定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联,譬如在goolecode上建立了一个名为myapp的项目,那么groupId就应该是com.goolecode.myapp;artifactId定义了当前maven项目在组中唯一的ID;version指定了项目当前的版本;
dependencies标签定义了依赖;下面的dependency标签即为依赖的包,可以有多个dependency标签,即依赖多个包,maven会自己在库中去下载包;如果在dependency标签下有scope属性,则表示为依赖范围,如果值为test,则表示该依赖只在测试中有效
根据pom.xml文件清理并编译后可以打成jar包,打好的包需要install,这要的话才可以上传到maven的仓库中,这样才能够被别的maven项目所使用。因为maven自己的库包含的包不可能是我们需要的全部,比如我们自己开发的工程包,这就需要上传到maven的本地库里面去了。命令行类似:mvn install:install-file -Dfile=E:/workspaceYX/jczf/lib/yanxiu-util-1.0.jar -DgroupId=com.yanxiu -DartifactId=yanxiu-util -Dversion=1.0 -Dpackaging=jar
eclipse从svn上将maven工程导入的步骤:
1.在eclipse上从svn上导入工程下来,现在显示的还是java工程而不是maven工程,算是一个映射
2.在cmd命令行下跳转到工程的路径下,要到该工程的根目录下,执行 mvn eclipse:eclipse。mvn会自动去执行编译生成.settings文件夹(注意:若有引用包,而mvn本地库中没有该包,则需要先将包导入到maven的本地库中。见上面)
3.在eclipse中刷新工程即可,则会变成mvn的工程。
在eclipse中将maven和resin整合:
1.修改resin安装目录下conf文件夹中的resin.conf;将web项目的根路径改掉,最好不在原来的基础上直接改,重新复制一份,在此基础上修改,将原来的注释掉。如改成:
<!--
<web-app id="/" root-directory="E:\workspace\3r-front.git\WebRoot"/>
-->
<web-app id="/" root-directory="E:\workspaceYX\yanxiu-upload-meeting\src\main\webapp"/>
----待补充
- Maven小记、供自己学习使用
- maven学习(仅供自己参考)
- 自己写的批处理例子供学习使用
- vs2003快捷键(仅供自己学习记录使用)
- 开了个工程,供自己学习使用
- Maven学习小记
- RecyclerView仅供自己使用
- maven 使用小记1
- Maven使用小记
- maven 将自己的jar放到中心仓储以供使用
- maven 将自己的jar放到中心仓储以供使用
- log4j学习_仅供自己参考
- urlrewrite学习_仅供自己参考
- proxool学习_仅供自己参考
- linux命令总结(供自己学习)
- BM25算法 仅供自己记录学习
- php中的spl(供自己使用)
- ubuntu下使用virtualbox安装xp(仅供自己作为学习笔记)
- Table-driven Approach
- mysql 创建函数报错:This function has none of DETERMINISTIC, NO SQL解决办法
- CCScene,CCLayer,CCSprite的默认坐标和默认锚点
- Uni2D 入门 -- Animation Clip 和 Animation API
- Showstopper - POJ 3484 二分
- Maven小记、供自己学习使用
- hdu 1213简单并查集
- Uni2D 入门 -- Skeletal Animation
- 释放Ubuntu/Linux系统cache,增加可用内存空间
- Xcode5 iOS5.1.1
- 学习openCV(1)
- SSH登录很慢问题的解决
- Android ListView使用BaseAdapter与ListView的优化
- discuz x系列与Discuz!有何区别