maven的安装及配置
一、maven版本介绍
目前我们使用的是apache maven-3.3.3版本,需要JDK版本为JDK 1.7。低版本的maven也要对应低版本的JDK,如maven-3.2.x对应JDK版本为JDK 1.6;maven-3.1.x和maven-3.0.x对应JDK版本为JDK 1.5.
二、maven的安装
安装maven之前要确保本机已经安装了相应版本的JDK并且配置环境变量。
2.1解压
将图一中maven的压缩包解压到磁盘的根目录下
2.2 配置环境变量
① 新建环境变量M2_HOME,值为2.1解压后的路径,即F:\apache-maven-3.3.3
② 配置环境变量Path,在变量尾部添加;%M2_HOME%\bin,如图四所示。
注:Java环境变量必须确保在maven环境变量的前面。
2.3 修改mvn.cmd文件
mvn.cmd文件的位置在2.1解压路径的bin目录下,即F:\apache-maven-3.3.3\bin
打开mvn.cmd文件,在第二处@setlocal下方添加JDK的安装路径,代码为:
set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0_67
2.4 验证maven是否安装成功
打开cmd命令窗口,输入mvn -v ,出现如图七所示,表示maven安装成功。
三、maven插件的安装
3.1 安装maven插件
3.1.1 解压插件压缩包
将maven插件压缩包解压到当前目录下,解压的文件夹为maven文件夹
3.1.2 eclipse安装插件
① 将3.1.1 解压的maven文件夹拷贝到eclipse的dropins文件夹下
② 重启eclipse,点击Window→Preferences,在左边出现maven选项,表示maven插件安装成功
3.2 建立本地仓库
① 在maven资料里找到maven安装目录替换文件里面的settings.xml文件,替换本地maven安装路径的settings.xml文件。
E:/m2/repository
② 替换之后,打开setting.xml文件,会看到如下代码:
,这个地址是本地仓库的路径。根据这个路径建立本地仓库,在F盘建立m2文件夹,repository文件夹不需要创建,maven会自动创建。
③ 将maven资料中找到本地仓库添加文件里面的setting.xml文件,拷贝到m2文件夹目录下
3.3 配置eclipse中的maven插件
① 点击Window→Preferences,找到maven选项卡,点击Installation,点击Add,添加我们自己的maven,即2.1解压的maven。
注:eclipse会默认选中自带的maven,这个内嵌的Maven通常会比较新,但不一定很稳定,而且往往也会和我们在命令行使用的Maven不是同一个版本。这里有会出现两个潜在的问题:首先,较新版本的Maven存在很多不稳定因素,容易造成一些难以理解的问题;其次,除了IDE,我们也经常还会使用命令行的Maven,如果版本不一致,容易造成构建行为的不一致,这是我们所不希望看到的。因此,我们应该在IDE中配置Maven插件时使用与命令行一致的Maven。
② 点击User Settings,点击Browse,浏览本地仓库m2文件夹下的settings.xml文件,点击Update Settings。
四、maven项目开发与调试
4.1 配置pom文件
由于最新的平台V6R3开发使用的是myBatis,在Java代码Dao层多了一个xml配置文件,maven是不会识别java目录下的非java文件,所以需要手动修改pom.xml配置文件,把遗漏的xml配置文件加到jar包里。
需要在pom.xml 的
1 2 3 <resources> 4 5 <resource> 6 7 <directory>src/main/javadirectory> 8 9 <includes> 10 11 <include>**/*.xmlinclude> 12 13 includes> 14 15 <filtering>falsefiltering> 16 17 resource> 18 19 <resource> 20 21 <directory>src/main/resourcesdirectory> 22 23 <includes> 24 25 <include>**/*.jsinclude> 26 27 <include>**/*.jspinclude> 28 29 includes> 30 31 <filtering>truefiltering> 32 33 resource> 34 35 resources>
4.2 项目调试
4.2.1 配置JDK
maven 3.3.3版本要求使用JDK1.7,在调试maven之前,需要把JDK 1.7添加到eclipse中。点击Preferences→Java→Installed JREs,点击Add添加本机安装的JDK1.7,添加成功之后,选中JDK,点击Edit,打开对话框。
配置Default VM Argument ,值为 -Dmaven.multiModuleProjectDirectory=$M2_HOME点击保存即可。
4.2.2 Run模式maven项目
我们主要使用的是JRebel插件来调试maven项目。
① 将JRebel压缩包解压到当前文件下
② eclipse导入maven项目
第一步:导入maven工程
第二步:选择组件所在目录后点击【Finish】按钮,完成组件Maven工程导入
③ 修改标准测试工程PlatformWebapp的pom.xml和dev.properties文件。
第一步:根据pom文件中的如下代码, JRebel启动的端口号jetty.start.port,项目访问的名称 web.context,就可以确定项目启动后的访问路径,即
http://localhost:8090/mavenTest。
第二步:在pom文件中添加自己开发的组件,代码如下。
注:项目和组件最好保持在一个工作空间下
第三步:在pom文件中添加资源地址,这个配置必须和dev.properties中的配置一直,pom.xml代码如下:
第四步:配置dev.properties文件,stnd.dir配置的路径是本地工作空间要调试的组件的路径,(针对java代码);web.dir:配置的路径是本地工作空间标准测试工程PlatformWebapp项目路径。后面加上要调试组件的jsp、js资源路径。具体代码如下:
stnd1.dir=F:/localmavenSpace/PlatformV6R3Group_maven_6.3.0/BlankCompProject
stnd2.dir=F:/localmavenSpace/PlatformV6R3Group_maven_6.3.0/demo1
webdir=F:/localmavenSpace/PlatformV6R3Group_maven_6.3.0/PlatformWebapp/src/main/webapp,${stnd1.dir}/src/main/resources/META-INF/resources,${stnd2.dir}/src/main/resources/META-INF/resources
注:拷贝路径,dev.properties只识别“/”分隔符
④ 配置eclipse中的参数
第一步:右键基础测试工程PlatformWebapp→Run As→Run Configuration→Maven Build→右键→New。先配置Main页签的参数,Name与项目相关的名称,Base Directory要启动项目的路径,即点击Browse Workspace选择要启动的项目,如图二十一所示。Goals参数填写执行命令:properties:read-project-properties jetty:run。选中resolve Workspace artifacts选项。
第二步:配置JRE页签的参数。Alternate JRE:需要更改为jdk1.7。
VM arguments:
-noverify
-agentpath:E:\jrebel\lib\jrebel32.dll
-Drebel.spring_plugin=true
-XX:+CMSClassUnloadingEnabled -XX:PermSize=256M -XX:MaxPermSize=512M
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888
注:需要改动的地方只有一处,-agentpath 是你本地的jrebel的路径。
根据自己的jdk版本好选择是32位还是64位的jrebel命令。
第三步:配置Common页签,如图二十三所示。选中Run选项,点击Run按钮启动项目。后面启动项目,点击Run As找到我们配置好的命令,点击启动即可。
⑥ 启动的时候会报一个错误如图二十五所示,这个是兼容性的问题,不会影响启动。控制台打印的日志,缺少一个license。解决办法如下:
在maven资料中找到jrebel.lic,将该文件拷贝到JRebel的默认路径下,即C:\Users\Administrator\.jrebel,如图二十七所示。然后重新启动项目即可。
至此,Run模式启动maven工程就完成了。
4.2.3 Debug模式启动maven项目
第一步:右键基础测试工程PlatformWebapp→Debug As→Debug Configuration→Remote Java Application→右键→New。首先配置Connect页签的参数,Name:与项目名称相关,Project:要启动的项目名称,Port:8888,Host:localhost。
第二步:配置Source页签,把需要调试的组件添加进来
第三步:配置Common页签,选中Debug选项,点击Debug按钮即可。
至此,debug模式启动项目完成。
五、maven私服nexus的搭建
5.1 基本概念
Nexus提供了两种安装方式,第一种是内嵌Jetty的bundle,不需要额外的web容器,只要你有JRE就能直接运行。第二种方式是WAR,只须简单的将其发布到web容器中即可使用。我们主要使用bunddle的安装。
5.2 nexus的安装和启动
第一步:下载地址:http://www.sonatype.org/nexus/go,下载nexus-latest-bundle.zip。
第二步:解压会发现两个文件夹nexus-2.4.0-09和sonatype-work。第一个文件夹是核心文件,该目录包含了nexus运行所需要的文件,第二个文件夹包含了Nexus生成的配置文件、日志文件、仓库文件等。当用户需要备份nexus,只需要备份nexus-2.4.0-09目录即可。
第三步:配置环境变量Path:E:\nexus-latest-bundle\nexus-2.4.0-09\bin。
第四步:修改bin\jsw\conf\wrapper.conf文件,指定wrapper.java.command= C:\Program Files (x86)\Java\jdk1.7.0_67\bin\java,指定java命令的绝对路径。
第五步:命令行窗口—>nexus install,若安装成功会提示,并可在管理—>服务中找到nexus,右击该服务启动即可。
第六步:输入localhost:8081/nexus即可访问。端口可在E:\nexus-latest-bundle\nexus-2.4.0-09\conf \nexus.properties文件中修改。
六、SVN项目的结构和应用部署
6.1 svn项目结构
将本地组件maven工程所在根目录通过SVN客户端工具添加到该组件所属的子系统SVN主干下,maven工程下的target文件夹不需要上传:
svn项目结构所对应的pom文件中的代码如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 5 <modelVersion>4.0.0modelVersion> 6 7 <groupId>avicit.imgroupId> 8 9 <artifactId>IM_STNDartifactId> 10 11 <version>1.0-SNAPSHOTversion> 12 13 <packaging>pompackaging> 14 15 <name>企业标准化信息管理系统V6R3_Maven项目name> 16 17 <modules> 18 19 <module>FileManagemodule> 20 21 <module>MaterialManagemodule> 22 23 <module>StndAuthmodule> 24 25 <module>StndCommonmodule> 26 27 <module>StndInfoServemodule> 28 29 <module>StndManagemodule> 30 31 <module>StndModelManagermodule> 32 33 <module>StndRoutinemodule> 34 35 <module>StndSearchmodule> 36 37 <module>StndWritemodule> 38 39 <module>StndWebappmodule> 40 41 modules> 42 43 project>
6.2 部署项目
执行组件pom文件里添加项目的最小依赖组件。执行 maven install 命令。
它会把项目自动打成war包放在临时文件夹target目录下。
直接部署到tomcat里面,启动即可。