




已阅读5页,还剩104页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 1 页 共 109 页 Eclipse+maven+nexusEclipse+maven+nexus 操作指南操作指南 2014-07-21 Power by GuanLichang 第 2 页 共 109 页 目录 一、一、MAVEN 安装安装.4 1.MAVEN简介.4 2. MAVEN下载地址 4 3. MAVEN安装版本 4 3.JDK 安装版本4 4. MAVEN英文安装步骤 4 参考文档.5 5.MAVEN中文安装步骤.5 6.MAVEN命令.6 二、二、ECLIPSE MAVEN PLUGIN INSTALL .8 1.安装M2ECLIPSE插件.8 2.配置ECLIPSES.9 3.SETTING.XML 配置文件.13 4.POM.XML 配置文件 .22 三、三、NEW MAVEN PROJECT 方法方法 67 1 1,建立,建立 M MAVENAVEN项目项目 .67 1.11.1 选择建立选择建立 MavenMaven ProjectProject67 1.21.2 选择项目路径选择项目路径.67 1.31.3 选择项目类型选择项目类型.68 1.41.4 输入输入 GroupGroup IDID 和和 ArtifactArtifact IDID,以及,以及 PackagePackage69 1.51.5 刚建立好后的文件结构如下图刚建立好后的文件结构如下图.70 2 2,配置项目,配置项目71 2.12.1 添加添加 SourceSource 文件夹文件夹.71 2.22.2 更改更改 classclass 路径路径.72 2.32.3 把项目变成把项目变成 DynamicDynamic WebWeb 项目项目.73 2.42.4 设置部署程序集设置部署程序集(Web(Web DeploymentDeployment Assembly)Assembly).75 3,构建框架76 3.1 在pom.xml中添加所需要的jar包76 4,发布78 5,运行78 四、四、OLD PROJECT CONVERT MAVEN PROJECT(将原有项目转换为将原有项目转换为 MAVEN 项目项目).80 1 1、选中项目、选中项目-右键右键-C-CONFIGUREONFIGURE-C-CONVERTONVERT TOTO M MAVENAVEN P PROJECTROJECT.80 2 2、定义项目坐标、定义项目坐标80 3 3:编码调整及:编码调整及JDKJDK版本调整版本调整.82 4 4:运行错误以及解决方法:运行错误以及解决方法83 五、五、NEXUS85 NEXUS简介 .85 NEXUS下载和运行 .85 ECLIPSE + MAVEN + NEXUS.87 第 3 页 共 109 页 NEXUS介绍.88 下载和安装88 代理外部 MAVEN仓库89 管理本地 MAVEN仓库92 管理 MAVEN仓库组93 搜索构件94 配置 MAVEN使用 NEXUS.96 部署构件至 NEXUS.97 总结99 附录:附录:100 NEXUS使用指南 .100 登陆.100 代理Maven中央仓库100 管理本地Maven仓库102 管理Maven仓库组103 搜索构件.104 部署构件至Nexus.106 总结.108 参考文献参考文献109 第 4 页 共 109 页 一、一、Maven 安装安装 1.Maven 简介简介 Maven 是基于项目对象模型 (POM),可以通过一小段描述信息来管理项目的 构建,报告和文档的软件项目管理工具 。 如果你已经有十次输入同样的 Ant targets 来编译你的代码、 jar 或者 war、生成 javadocs,你一定会自问,是否有一个重复性更少却能同样完成该工 作的方法。Maven 便提供了这样一种选择,将你的注意力从作业层转移到项目管 理层。Maven 项目已经能够知道如何构建和捆绑代码,运行测试,生成文档并宿 主项目网页。 2. Maven 下载地址下载地址 /maven/maven-3/3.2.1/binaries/apache-maven-3.2.1-bin.zip 3. Maven 安装版本安装版本 apache-maven-3.2.1-bin.zip 3.JDK 安装版本安装版本 JDKMaven 3.2 requires JDK 1.6 or above, while Maven 3.0/3.1 requires JDK 1.5 or above (this is to execute Maven - it still allows you to build against 1.3 and prior JDKs) 4. Maven 英文安装步骤英文安装步骤 Windows 2000/XP 1.Unzip the distribution archive, i.e. apache-maven-3.2.1-bin.zip to the directory you wish to install Maven 3.2.1. These instructions assume you chose C:Program FilesApache Software Foundation. The subdirectory apache-maven-3.2.1 will be created from the archive. 第 5 页 共 109 页 2.Add the M2_HOMEM2_HOME environment variable by opening up the system properties (WinKey + Pause), selecting the “Advanced“ tab, and the “Environment Variables“ button, then adding the M2_HOME variable in the user variables with the value C:Program FilesApache Software Foundationapache-maven-3.2.1. Be sure to omit any quotation marks around the path even if it contains spaces. Note: For Maven 2.0.9, also be sure that the M2_HOME doesnt have a as last character. 3.In the same dialog, add the M2M2 environment variable in the user variables with the value %M2_HOME%bin%M2_HOME%bin. 4.Optional: In the same dialog, add the MAVEN_OPTSMAVEN_OPTS environment variable in the user variables to specify JVM properties, e.g. the value -Xms256m -Xmx512m. This environment variable can be used to supply extra options to Maven. 5.In the same dialog, update/create the Path environment variable in the user variables and prepend the value %M2% to add Maven available in the command line. 6.In the same dialog, make sure that JAVA_HOME exists in your user variables or in the system variables and it is set to the location of your JDK, e.g. C:Program FilesJavajdk1.5.0_02 and that %JAVA_HOME%bin is in your Path environment variable. 7.Open a new command prompt (Winkey + R then type cmd) and run mvnmvn -version-version to verify that it is correctly installed. 参考文档参考文档 /download.cgi#Installation 5.Maven 中文安装步骤中文安装步骤 一、Maven 只需要解压并配置环境变量即可运行。例如,将 apache-maven- 3.2.1.zip 解压到 D 盘下(D: apache-maven-3.2.1) 。则我们配置环境变量:添加 M2_HOME 值为 D: apache-maven-3.2.1,在 Path 下添加“%M2_HOME%bin;”即可, 第 6 页 共 109 页 注意多个值之间需要有分号隔开,然后点击确定。 二、要验证 Maven 是否可用,可在开始点击运行键入“cmd”进入命 令界面,在命令行中输入“mvn -v” ,若出现 Maven 的版本号(如图 1) ,则表示配 置成功,可以使用 Maven 了。 图 1 三、运行如下命令检查 Maven 的安装情况: C:Documents and SettingAdministratorecho %M2_HOME% C:Documents and SettingAdministrator mvn-v 6.Maven 命令命令 所有 maven 的命令都以 mvn 开始。 基本命令:基本命令: 1)创建普通应用项目: mvn archetype:create -DgroupId=com -DartifactId=certusSimple 2)创建 WEB 项目: mvn archetype:create -DgroupId=com -DartifactId=certusWeb - DarchetypeArtifactId=maven-arc hetype-webapp 命令说明:命令说明: archetype( 内建插件,他的 create 任务将建立项目骨架 ): archetype:create groupId 项目的 java 包结构:com artifactId 项目的名称:certusSimple archetypeArtifactId( 项目骨架的类型 ): * maven-archetype-archetype * maven-archetype-j2ee-simple * maven-archetype-mojo * maven-archetype-portlet * maven-archetype-profiles (currently under development) * maven-archetype-quickstart 第 7 页 共 109 页 * maven-archetype-simple (currently under development) * maven-archetype-site * maven-archetype-site-simple, and * maven-archetype-webapp 其他命令说明其他命令说明 发布到本地: mvn install:install -file -Dfile=D:/opensource/dbunit-2.2/dbunit-2.2.jar - DgroupId=dbunit-DartifactId=junitperf -Dversion=2.2 -Dpackaging=jar 发布到远程: mvn deploy:deploy -file -DgroupId=staticComparison -DartifactId=static-comparison -Dversion=2.0 -Dpackaging=jar -Dfile=c:/staticComparison_2.0.jar -Durl=file:Y:repo 生成 Eclipse 项目结构: mvn eclipse:eclipse 清理(删除 target 目录下编译内容) mvn clean 仅有页面文件发生变化时 mvn war:exploded maven 定义的生命周期中主要的相位如下: validate : 验证项目是否正确以及相关信息是否可用。 compile : 编译。 test : 通过 junit 进行单元测试。 package : 根据事先指定的格式(比如 jar) ,进行打包。 integration-test : 部署到运行环境中,准备进行集成测试。 verify : 对包进行有效性性和质量检查。 install : 安装到本地代码库。 deploy : 在集成或发布环境,将包发布到远程代码库。 maven 常用命令为常用命令为 : mvn archetype:create :创建 Maven 项目 mvn compile :编译源代码 mvn test-compile :编译测试代码 mvn test : 运行应用程序中的单元测试 mvn site : 生成项目相关信息的网站 mvn clean :清除目标目录中的生成结果 mvn package : 依据项目生成 jar 文件 mvn install :在本地 Repository 中安装 jar mvn eclipse:eclipse :生成 Eclipse 项目文件 第 8 页 共 109 页 二、二、Eclipse Maven plugin Install 1.1.安装安装 m2eclipsem2eclipse 插件插件 m2eclipse插件(/)为Eclipse提供了Maven的 集成。但安装m2eclipse之前需先安装Subclipse插件 (/)和Mylyn插件 (/mylyn/。Subclipse插件为m2eclipse提供了与 Subversion仓库交互的能力,Mylyn插件为m2eclipse提供了与任务集中接口交互的 能力,该接口能跟踪开发过程的上下文。安装顺序如下: 1)Subclipse: /update_1.6.x 2)Mylyn: /tools/mylyn/update/e3.4/ 3) m2eclipse: /sites/m2e 安装以上插件,可以在eclipse中的Help点击Install New software进入 图2界面,可直接选择Subclipse Mylyn m2eclipse进行在线安装。 图 2 第 9 页 共 109 页 MyEclipse、Spring Tools Suite 等等 IDE 都自带都自带 Maven 插件。插件。 2.配置配置 eclipses 为了确保 eclipse 同 maven 的无缝集成,需对 eclipse 进行以下简单配置。 1)要确认 eclipse 是运行在 JDK(准确说是 JDK 里的 JRE)上,而不是 JRE 上, 如果 eclipse 不是运行在 JDK 上则开启 eclipse 时,控制台会有提示提示我们。要使 得 eclipse 运行在 JDK 上,得进入 eclipse 的安装目录,打开 eclipse.ini 文件,在- vmargs 之前添加以下代码: -vm C:Program FilesJavajdk1.6.0_10binjavaw 添加后如图 3。 图 3 需要提醒的一点是,你可能会在使用 m2eclipse 时遇到类似这样的错误: 14-07-6 上午 01 时 14 分 49 秒:Eclipse is running in a JRE, but a JDK is required Some Maven plugins may not work when importing projects or updating source folders,解决方法如上。 2)在 eclipse 的 IDE 中找到Windows ,点击进入“Preferences” 。 a)在“java”中的“compiler”中在“use default compliance settings 前打钩,并 确认下拉列表中的版本号是所用 JDK 的版本号(如图 4) 。 第 10 页 共 109 页 图 4 b)在“maven”的“Installations”中将“Embedded”前的勾去掉,点击 Add添加外部 maven,如图 5,本例中 maven 的解压地址为:D:wilma。 第 11 页 共 109 页 图 5 c) 在“maven”的“Installations”中确保“User settings”的路径与图 6 一致, 这为今后与 nexus 集成设定好了 pom 路径。 第 12 页 共 109 页 图 6 到此为止,eclipse 与 maven 集成配置完毕。重新启动 eclipse 就可以使用 eclipse 创建 maven 项目了,图 7 是已经集成了 maven 的 eclipse,在新建项目时,多了 Maven 选项。 第 13 页 共 109 页 图 7 3.Setting.xml 配置文件配置文件 localRepository:本地库存位置,jar 包保存位置,默认$user.dir/.m2/repository offline: true/false,如不想每次编译都去查找远程中心库,就设置为 true,前提是已下载好包 Servers:配置特定的用户 id:用于匹配 distributionManagement 库 id username,password:用于登陆此服务器的用户名和密码 privateKey,passphrase:设置 private Key,及 passphrase filePermissions,directoryPermissions:访问权限 664/775 mirrosrs:镜像库,用于添加其他库 id,name:唯一的标志,用来区别镜像 第 14 页 共 109 页 url:镜像的 url mirrorOf:此镜像指向的服务 id Proxies:代理设置,用于无法直接访问中心库的配置 id:代理的标志 active:是否激活代理 protocol,host,port:protocol:/host:port 代理 username,password:用户名密码 nonProxyHosts:不需要代理的 host repositories 和 pluginRepositonries 定义本地开发库 用于 release 发布 配置细节:配置细节: 简单的值简单的值 一半以上的顶级 settings 元素师简单的值,代表了一直处于活跃的构建系统的元素的取值范 围。 1 5 $user.home/.m2/repository 6 true 7 false 8 false 9 . 10 第 15 页 共 109 页 localRepository:这个值是构建系统的本地仓库的路径。默认的值是$user.home /.m2/repository.如果一个系统想让所有登陆的用户都用同一个本地仓库的话,这个值是极 其有用的。 interactiveMode:如果 Maven 要试图与用户交互来得到输入就设置为 true,否则就设置 为 false,默认为 true。 usePluginRegistry:如果 Maven 使用$user.home/.m2/plugin-registry.xml 来 管理 plugin 的版本,就设置为 true,默认为 false。 offline:如果构建系统要在离线模式下工作,设置为 true,默认为 false。如果构建服务 器因为网络故障或者安全问题不能与远程仓库相连,那么这个设置是非常有用的。 插件组插件组 这个元素包含了一系列 pluginGroup 元素,每个又包含了一个 groupId。当一个 plugin 被 使用,而它的 groupId 没有被提供的时候,这个列表将被搜索。这个列表自动的包含了 org.apache.maven.plugins 和 org.codehaus.mojo。 1 5 . 6 7 org.mortbay.jetty 8 9 . 10 例如,有了上面的配置,Maven 命令行可以使用简单的命令执行 org.morbay.jetty:jetty-maven-plugin:run,如下 mvn jetty run 服务器服务器 用来下载和部署的仓库是用 POM 中的 repositories 和 distributionManagement 元素来 定义的。但是某些配置例如 username 和 password 就不应该随着 pom.xml 来分配了。这种 类型的信息应该保存在构建服务器中的 settings.xml 中。 1 5 . 6 7 8 server001 9 my_login 10 my_password 11 $user.home/.ssh/id_dsa 12 some_passphrase 13 664 14 775 15 16 17 18 . 19 id:这是 Server 的 ID(不是登录进来的 user),与 Maven 想要连接上的 repository/mirror 中的 id 元素相匹配。 username,password:这两个元素成对出现,表示连接这个 server 需要验证 username 和 password。 privateKey,passphrase:与前两个元素一样,这两个成对出现,分别指向了一个私钥(默 认的是$user.home/.ssh/id_dsa)和一个 passphrase。passphrase 和 password 元 素可能在将来被客观化,但是现在必须以文本形式在 settings.xml 中设置。 filePermissions,directoryPermissions:当一个仓库文件或者目录在部署阶段被创 建的时候,就必须用到权限许可。他们合法的值是三个数字,就像*nix 中的文件权限,例如: 664,775. 注意:如果你使用了一个私钥来登录 server,那么 password 元素必须被省略,否则私钥将 被忽视。 密码加密密码加密 一个新特征:服务器 password 和 passphrase 加密已经被升到 2.1.0+ 镜像镜像 1 第 17 页 共 109 页 5 . 6 7 8 9 PlanetMirror Australia 10 /pub/maven2 11 central 12 13 14 . 15 id,name:唯一的镜像标识和用户友好的镜像名称。id 被用来区分 mirror 元素,并且当连 接时候被用来获得相应的证书。 url:镜像基本的 URL,构建系统敬将使用这个 URL 来连接仓库,而不是原来的仓库 URL。 mirrorOf:镜像所包含的仓库的 Id。例如,指向 Maven central 仓库的镜像 (/maven2/),设置这个元素为 central。更多的高级映射例如 repo1,repo2 或者*,!inhouse 都是可以的。没必要一定和 mirror 的 id 相匹配。 代理代理 1 5 . 6 7 8 myproxy 9 true 10 http 11 12 8080 13 proxyuser 14 somepassword 15 *.| 16 17 18 . 19 第 18 页 共 109 页 id:proxy 的唯一标识,用来区别 proxy 元素。 active:当 proxy 被激活的时候为 true。当申明的代理很多的时候,这个很有用,但是同一 时间仅有一个被激活。 protocol,host,port:代理地址 protocol:/host:port 的分散形式。 username,password:两个元素成对出现,提供连接 proxy 服务器时的认证。 nonProxyHosts:这里列出了不需要使用代理的 hosts。列表的分隔符是 proxy 服务器想要 的类型。上面例子使用了 pipe 分隔符,逗号分隔符也比较通用。 配置文件配置文件 settings.xml 中的 profile 是 pom.xml 中的 profile 的简洁形式。它包含了激活 (activation),仓库(repositories),插件仓库(pluginRepositories)和属性 (properties)元素。profile 元素仅包含这四个元素是因为他们涉及到整个的构建系统,而 不是个别的 POM 配置。 如果 settings 中的 profile 被激活,那么它的值将重载 POM 或者 profiles.xml 中的任 何相等 ID 的 profiles。 激活激活(activation) activations 是 profile 的关键,就像 POM 中的 profiles,profile 的能力在于它在特 定情况下可以修改一些值。而这些情况是通过 activation 来指定的。 1 5 . 6 7 8 test 9 10 false 11 1.5 12 13 Windows XP 14 Windows 15 x86 16 5.1.2600 17 18 19 mavenVersion 20 2.0.3 第 19 页 共 109 页 21 22 23 $basedir/perties 24 $basedir/perties 25 26 27 . 28 29 30 . 31 如果所有指定的条件都达到了,那么,activation 就被触发,而且不需要一次性全部达到。 jdk:在 jdk 元素中,activation 有一个内建的,java 版本检测。如果检测到 jdk 版本与 期待的一样,那么就激活。在上面的例子中,1.5.0_06 是满足的。 os:os 元素可以定义一些上面所示的操作系统特定的属性。 property:如果 Maven 检测到相应的名值对的属性,那么,这个 profile 将被激活。 file:如果给定的文件存在,或者不存在那么将激活这个 profile。 activation 并不是唯一激活 profile 的途径。settings.xml 中的 activeProfile 包含 了 profile 的 id。他们也可以通过命令行来显式的激活,例如-P test。 如果你想查看在一个构建过程中有哪些 profile 会被激活。就使用 maven-help-plugin mvn help:active-profiles 属性属性(properites) Maven 的属性是值占位符,就像 Ant 中的属性。如果 X 是一个属性的话,那么它的值在 POM 中 可以使用$X来进行任意地方的访问。他们来自于五种不同的风格,所有都可以从 settings.xml 文件中访问到。 1.env.X:使用“env.”前缀将会返回当前的环境变量。例如$env.PATH就是使用了$path 环境变量。 2.project.X:一个点“.”分割的路径,在 POM 中就是相关的元素的值。例如: 1.0就可以通过$project.version来 访问。 3.settings.X:一个点“.”分割的路径,在 settings.xml 中就是相对应的元素的值,例如: false就可以通过 $settings.offline来访问。 4.Java 系统属性:所有通过 java.lang.System.getProperties()来访问的属性都可以 像 POM 中的属性一样访问,例如:$java.home 5.X:被或者外部文件定义的属性,值可以这样访问$someVar 第 20 页 共 109 页 1 5 . 6 7 8 . 9 10 $user.home/our-project 11 12 . 13 14 15 . 16 如果这个 profile 被激活,那么属性$user.install就可以被访问了。 仓库仓库(repositories) 仓库是 Maven 用来构筑构建系统的本地仓库的远程项目集合。它来自于被 Maven 叫做插件和 依赖的本地仓库。不同的远程仓库包含不同的项目,当 profile 被激活,他们就会需找匹配的 release 或者 snapshot 构件。 1 5 . 6 7 8 . 9 10 11 codehausSnapshots 12 Codehaus Snapshots 13 14 false 15 always 第 21 页 共 109 页 16 warn 17 18 19 true 20 never 21 fail 22 23 /maven2 24 default 25 26 27 28 . 29 30 . 31 32 33 . 34 releases,snapshots:这是各种构件的策略,release 或者 snapshot。因了这两个集合, POM 可以在单个的仓库中不依赖于另外一个的策略而改变当前策略。例如:一个人可能只下载 snapshot 用来开发。 enable:true 或者 false,来标记仓库是否为各自的类型激活(release 或者 snapshot)。 updatePolicy:这个元素指明了更新的频率。Maven 会比较本地 POM 与远程的时间戳。可选 的项目为:always,daily,interval:X,nerver。 checksumPolicy:当 Maven 向仓库部署文件的时候,它也部署了相应的校验和文件。可选的 为:ignore,fail,warn,或者不正确的校验和。 layout:在上面描述仓库的时候,我们提到他们有统一的布局。这完全正确。使用这个来表明 它是 default 还是 legacy。 插件仓库插件仓库(plugin repositories) 仓库包含了两种重要类型的构件。第一种是用来做其他构件依赖的构件,这是在中央仓库中的大 多数插件。另外一种类型的构件就是插件。Maven 的插件本身就是一种特殊的构件。因此,插 件仓库被从其他仓库中分离出来。无论怎么说,pluginRepositories 元素模块的结构与 repositories 模块很相似。pluginRepository 元素指向一个可以找到新插件的远程地址。 激活配置激活配置(Active Profiles) 第 22 页 共 109 页 1 5 . 6 7 env-test 8 9 settings.xml 最后一个谜题是 activeProfiles 元素。它包含一系列的 activeProfile 元素,每个都有一个 profile id 的值,任何 profile id 被定义到 activeProfile 的 profile 将被激活,不管其他的环境设置怎么样。如果没有匹配的 profile 被找到,那么就 什么事情也不做。例如:如果 env-test 是一个 activeProfile,一个在 pom.xml 或者 profile.xml 中的具有相应 id 的 profile 将被激活。如果没有这样的 profile 被找到,就 什么事也不做,一切照常。 4.Pom.xml 配置文件配置文件 在 pom.xml 中定义 jar 包版本还有依赖,管理 jar 文件。 包括配置文件;开发需要遵循的规则,缺陷管理系统,组织和 licenses,项目的依赖性 groupId:项目或组织唯一标志,并生成项目路径 artifactId:项目名称 version:项目版本 packaging:打包的机制,如 jar,pom,war maven 中继承的定义 父项目 packaging 类型需要为 pom,用于 parent 和合成多个项目,子项目为 Modules 合成 tc-dient tc-server build 设置:用于编译设置,包括两个主要元素,build,report 第 23 页 共 109 页 build-plugin 插件 . extensions:true/false 是否装载插件扩展,默认为 false inherited:true/false 此插件配置是否应用于 poms(继承) configuration:指定插件配置 dependencies:插件需要依赖的包 executions:用于配置 execution 目标,一个插件可以有多个目标 build-resources 资源,项目中需要指定的资源如:perties . 第 24 页 共 109 页 resources:列表,包括所有的资源 targetPath:指定目标路径,用于放置资源,用于 build filtering:是否替换资源中属性 placehold directory:资源所在的位置 includes:样式,包括资源 excludes:排除的资源 testResources:测试资源列表 dependencies:依赖关系 groupId,artifactId,version:描述了依赖的项目唯一标志 使用以下的命令安装: mvn install:install-file Dfile=non-maven-proj.jar DgroupId=some.group DartifactId=non-maven-proj Dversion=1 创建自己的库,并配置,使用 deploy:deploy-file 设置此依赖范围为 system,定义一个系 统路径。不提倡。 type:相应的依赖产品包形式,如 jar,war scope:用于限制相应的依赖范围,包括以下的几种变量: compile:默认范围,用于编译 provided:类似于编译,但支持你期待 jdk 或者容器提供,类似于 classpath runtime:在执行时,需要使用 test:用于 test 任务时使用 system:需要外在提供相应得元素。通过 systemPath 来取得 systemPath: 仅用于范围为 system。提供相应的路径 optional: 标注可选,当项目自身也是依赖时。用于连续依赖时使用 快速察看:快速察看: 4.0.0 . . . . 第 25 页 共 109 页 . . . . . . . . . . . . . . . . . . . . . . . . 基本内容:基本内容: POM 包括了所有的项目信息。 maven 相关: pom 定义了最小的 maven2 元素,允许 groupId,artifactId,version。所有需要的元素 groupId:项目或者组织的唯一标志,并且配置时生成的路径也是由此生成,如 org.codehaus.mojo 生成的相对路径为:/org/codehaus/mojo artifactId: 项目的通用名称 version:项目的版本 packaging: 打包的机制,如 pom, jar, maven-plugin, ejb, war, ear, rar, par classifier: 分类 第 26 页 共 109 页 POM 关系:关系: 主要为依赖,继承,合成 依赖关系:依赖关系: junit junit 4.0 jar test true . groupId, artifactId, version:描述了依赖的项目唯一标志 可以通过以下方式进行安装: 使用以下的命令安装: mvn install:install-file Dfile=non-maven-proj.jar DgroupId=some.group DartifactId=non-maven-proj Dversion=1 创建自己的库,并配置,使用 deploy:deploy-file 设置此依赖范围为 system,定义一个系统路径。不提倡。 type:相应的依赖产品包形式,如 jar,war scope:用于限制相应的依赖范围,包括以下的几种变量: compile :默认范围,用于编译 provided:类似于编译,但支持你期待 jdk 或者容器提供,类似于 classpath runtime:在执行时,需要使用 test:用于 test 任务时使用 system:需要外在提供相应得元素。通过 systemPath 来取得 systemPath: 仅用于范围为 system。提供相应的路径 optional: 标注可选,当项目自身也是依赖时。用于连续依赖时使用 独占性独占性 外在告诉 maven 你只包括指定的项目,不包括相关的依赖。此因素主要用于解决版本冲突 问题 org.apache.maven maven-embedder 第 27 页 共 109 页 2.0 org.apache.maven maven-core 表示项目 maven-embedder 需要项目 maven-core,但我们不想引用 maven-core 继承关系继承关系 另一个强大的变化,maven 带来的是项目继承。主要的设置: 定义父项目 4.0.0 org.codehaus.mojo my-parent 2.0 pom packaging 类型,需要 pom 用于 parent 和合成多个项目。我们需要增加相应的值给父 pom,用于子项目继承。主要的元素如下: 依赖型 开发者和合作者 插件列表 报表列表 插件执行使用相应的匹配 ids 插件配置 子项目配置 4.0.0 org.codehaus.mojo my-parent 2.0 /my-parent my-project relativePath 可以不需要,但是用于指明 parent 的目录,用于快速查询。 dependencyManagement: 第 28 页 共 109 页 用于父项目配置共同的依赖关系,主要配置依赖包相同因素,如版本,scope。 合成(或者多个模块)合成(或者多个模块) 一个项目有多个模块,也叫做多重模块,或者合成项目。 如下的定义: 4.0.0 org.codehaus.mojo my-parent 2.0 my-project1 my-project2 build 设置设置 主要用于编译设置,包括两个主要的元素,build 和 report build 主要分为两部分,基本元素和扩展元素集合 注意:包括项目 build 和 profile build . . 基本元素 install $basedir/target $artifactId-$version filters/perties . 第 29 页 共 109 页 defaultGoal: 定义默认的目标或者阶段。如 install directory: 编译输出的目录 finalName: 生成最后的文件的样式 filter: 定义过滤,用于替换相应的属性文件,使用 maven 定义的属性。设置所有 placehold 的值 资源资源(resources) 你项目中需要指定的资源。如 spring 配置文件,perties . META-INF/plexus false $basedir/src/main/plexus configuration.xml */*.properties . . resources: resource 的列表,用于包括所有的资源 targetPath: 指定目标路径,用于放置资源,用于 build filtering: 是否替换资源中的属性 placehold directory: 资源所在的位置 includes: 样式,包括那些资源 excludes: 排除的资源 testResources: 测试资源列表 插件插件 在 build 时,执行的插件,比较有用的部分,如使用 jdk 5.0 编译等等 第 30 页 共 109 页 . org.apache.maven.plugins maven-jar-plugin 2.0 false
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁省葫芦岛市协作体2026届高二化学第一学期期中综合测试模拟试题含解析
- 现代电视原理课件
- 2025年Python虚拟现实考试专项训练试卷 案例解析版
- 2025年电气工程师考试专项训练试卷 电气设计重点难点攻克
- 2025年高中英语中考冲刺押题试卷 口语表达专项训练
- 重庆市万州二中2026届化学高一上期末统考模拟试题含解析
- 玩滑梯的启示课件
- 浙江省温州市苍南县树人中学2026届化学高三第一学期期中质量检测试题含解析
- 民法典宣讲课件
- 王献之练字课件
- 院感培训试题及
- 电气照明系统课件
- 临时用水施工专项方案
- 北京市各县区乡镇行政村村庄村名明细
- GB∕T 9286-2021 色漆和清漆 划格试验
- DB35∕T 1844-2019 高速公路边坡工程监测技术规程
- 720全景照片制作方案及发布流程
- 工作责任心主题培训ppt课件(PPT 26页)
- 除尘器基础知识培训资料(54页)ppt课件
- 完整解读新版《英语》新课标2022年《义务教育英语课程标准(2022年版)》PPT课件
- 2011版义务教育生物课程标准word版
评论
0/150
提交评论