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

*