maven笔记
- 格式:pdf
- 大小:258.57 KB
- 文档页数:23
maven笔记
maven
Eclipse中Maven项⽬建⽴步骤: (2)
建Maven项⽬时groupId、artifactId、version 和package的含义: (4)Maven项⽬⽂件夹含义: (4)
Maven配置: (5)
maven install与maven build的区别 (20)
Maven是做什么的? (20)
Eclipse中Maven项⽬建⽴步骤:
创建⼀个Maven Project:1、项⽬⽬录区右键New --> Other --> Maven Project
Maven Project可以理解为⽗⼯程。
Maven Module可以理解为⼦⼯程。
创建Maven Module⼯程必须有存在的⽗⼯程,maven就是通过⽗⼦⼯程进⾏⼯程管理
的。2、在弹出的对话框⾥,如果你想修改你项⽬的存放路径你可以改⼀下,其他的默认,我的所有项⽬都是存放在默认的⼯作区下,所以直接点NEXT
3、接下来找到并选择webapp,其他的默认,NEXT
Archetype:项⽬⾻架,项⽬的⽬录和⽂件结构,
快速项⽬可以选quickstart选项4、填写你的groupId、artifactId、version 和package 信息,然后Finish
(Finish 之后myeclipse在创建maven的时候可能会弹出错误框提⽰,没事,不⽤管它,直接按两次回车或⼿动关闭提⽰框)
建Maven项⽬时groupId、artifactId、version 和package的含义:groupId:group 翻译成中⽂就是组、集团的意识,groupId就是这样⼀个组或集团的ID标识,就拿Apache 来说好了,Apache⼤家都不陌⽣吧,Apache 官⽹上有⾮常多的项⽬,每个项⽬⾥⾯肯定能找得到org.apache.xxxx,⽽org.apache 就是这⾥说的groupId artifactId:还是拿Apache 来说,Apache 官⽹上有⾮常多的项⽬,⽽每个项⽬的名字就是这⾥的artifactId,换句话说,artifactId 就是你的项⽬名version:这个就没有什么好解释的了吧,是项⽬版本的意思
package:这个也没什么好说的,就是groupId.artifactId,创建的时候会⾃动帮你补全,如果没有⾃动帮你补全就⾃⼰⼿动敲上去
创建maven项⽬的module项⽬(⼦项⽬):
右键⽗项⽬-->maven-->new maven module projectPS: 如果报错 The parent project must have a packaging type of POM
是将pom.xml 中的 jar 改成 pom
添加项⽬依赖:项⽬pom⽂件右键-->maven-->add dependency-->由id查找项⽬添加Maven项⽬⽂件夹含义:
src存放源代码
target存放编译后的代码,
pom.xml: Project Object Model项⽬对象模型,定义了项⽬的基本信息,⽤于描述项⽬如何构建,声明依赖等等。
main中存放⽤来发布⾄⽣产环境的代码及配置
test中存放测试时使⽤的代码及配置java中存放java代码
resource中存放配置⽂件
wabapp存放web页⾯代码
src/main/java application library sources - java源代码⽂件
src/main/resources application library resources - 资源库,会⾃动复制到classes⽂件夹下src/main/filters resources filter files- 资源过滤⽂件
src/main/assembly assembly descriptor - 组件的描述配置,如何打包
src/main/config configuration files - 配置⽂件
src/main/webapp web application sources - web应⽤的⽬录,WEB-INF,js,css等
src/main/bin 脚本库
src/test/java 单元测试java源代码⽂件
src/test/resources 测试需要的资源库
src/test/filters 测试资源过滤库
src/site ⼀些⽂档
target/ 存放项⽬构建后的⽂件和⽬录,jar包,war包,编译的class⽂件等;Maven
构建时⽣成的pom.xml ⼯程描述⽂件
LICENSE.txt license
README.txt read me
Maven配置:
1、环境变量:正常情况下maven配置环境变量和java⼀样,建⽴Maven_Home放置maven
安装路径,然后将mavenhome加到path中2、maven配置是通过setting.xml配置的,详解:
概览:
当Maven运⾏过程中的各种配置,例如pom.xml,不想绑定到⼀个固定的project或者要分
配给⽤户时,我们使⽤settings.xml中的settings元素来确定这些配置。这包含了本地仓库位
置,远程仓库服务器以及认证信息等。settings.xml存在于两个地⽅:
1).安装的地⽅:$M2_HOME/conf/settings.xml
2).⽤户的⽬录:${user.home}/.m2/settings.xml
前者⼜被叫做全局配置,后者被称为⽤户配置。如果两者都存在,它们的内容将被合并,并
且⽤户范围的settings.xml优先。
如果你偶尔需要创建⽤户范围的settings,你可以简单的copy Maven安装路径下的settings
到⽬录${user.home}/.m2。Maven默认的settings.xml是⼀个包含了注释和例⼦的模板,你可
以快速的修改它来达到你的要求。Setting.xml⽂件内容:xmlns:xsi="http://www.doczj.com/doc/0a3cd9c852ea551810a687ec.html /2001/XMLSchema-instance"
xsi:schemaLocation="http://www.doczj.com/doc/0a3cd9c852ea551810a687ec.html /SETTINGS/1.0.0http://www.doczj.com/doc/0a3cd9c852ea551810a687ec.html /xsd/settings-1.0.0.xsd">
E:/project/localRepository
true
false
false
org.mortbay.jetty
ccl-nexus
my_login
my_password
${user.home}/.ssh/id_dsa
some_passphrase
664
775
//传输层额外的配置项
ccl-nexus
19lou Nexus Public Mirror
http://172.16.10.99:8081/nexus/content/groups/public
*
myproxy
true
http
http://www.doczj.com/doc/0a3cd9c852ea551810a687ec.html
8080
proxyuser//两个元素成对出现,提供连接proxy服务器时的认证。
somepassword
*http://www.doczj.com/doc/0a3cd9c852ea551810a687ec.html |http://www.doczj.com/doc/0a3cd9c852ea551810a687ec.html
dev
false
1.5
Windows XP
Windows
x86
5.1.2600
mavenVersion2.0.3
${basedir}/file2.properties
${basedir}/file1.properties
ccl-nexus
http://172.16.10.99:8081/nexus/content/groups/public
true
always
warn
true
n ever
fail
http://www.doczj.com/doc/0a3cd9c852ea551810a687ec.html /maven2
default
ccl-nexus
http://172.16.10.99:8081/nexus/content/groups/public
true
true
sonar
true
jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8
com.mysql.jdbc.Driver
root
http://172.16.11.43:80
dev
村村乐⽹站settings.xml⽂件:xmlns:xsi="http://www.doczj.com/doc/0a3cd9c852ea551810a687ec.html /2001/XMLSchema-instance"
xsi:schemaLocation="http://www.doczj.com/doc/0a3cd9c852ea551810a687ec.html /SETTINGS/1.0.0http://www.doczj.com/doc/0a3cd9c852ea551810a687ec.html /xsd/settings-1.0.0.xsd">
D:/wubh2/m2Repostitory
ccl-nexus
admin
admin123
ccl-nexus
ccl Nexus Public Mirror
http://172.16.1.203:8081/nexus/content/groups/public
*