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文件。
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
-->
<localRepository>E:/m2/repository</localRepository>
<!-- interactiveMode
| This will determine whether maven prompts you when it needs input. If set to false,
| maven will use a sensible default value, perhaps based on some other setting, for
| the parameter in question.
|
| Default: true
<interactiveMode>true</interactiveMode>
-->
② 替换之后,打开setting.xml文件,会看到如下代码:
<localRepository>E:/m2/repository</localRepository>
,这个地址是本地仓库的路径。根据这个路径建立本地仓库,在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 的<plugins>标签下方加入如下代码:
1 <!-- 避免漏Mapper文件 --> 2 3 <resources> 4 5 <resource> 6 7 <directory>src/main/java</directory> 8 9 <includes> 10 11 <include>**/*.xml</include> 12 13 </includes> 14 15 <filtering>false</filtering> 16 17 </resource> 18 19 <resource> 20 21 <directory>src/main/resources</directory> 22 23 <includes> 24 25 <include>**/*.js</include> 26 27 <include>**/*.jsp</include> 28 29 </includes> 30 31 <filtering>true</filtering> 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.0</modelVersion> 6 7 <groupId>avicit.im</groupId> 8 9 <artifactId>IM_STND</artifactId> 10 11 <version>1.0-SNAPSHOT</version> 12 13 <packaging>pom</packaging> 14 15 <name>企业标准化信息管理系统V6R3_Maven项目</name> 16 17 <modules> 18 19 <module>FileManage</module> <!-- 文件管理组件 --> 20 21 <module>MaterialManage</module> <!-- 馆藏资料组件 --> 22 23 <module>StndAuth</module> <!-- 权限设置组件 --> 24 25 <module>StndCommon</module> <!-- 通用文件和库结构配置组--> 26 27 <module>StndInfoServe</module> <!-- 标准信息服务组件 --> 28 29 <module>StndManage</module> <!-- 标准管理组件 --> 30 31 <module>StndModelManager</module> <!-- 型号管理组件 --> 32 33 <module>StndRoutine</module> <!-- 标准日常化组件 --> 34 35 <module>StndSearch</module> <!-- 统一检索组件 --> 36 37 <module>StndWrite</module> <!-- 标准编制组件 --> 38 39 <module>StndWebapp</module> <!-- 业务基础平台Web执行组件 --> 40 41 </modules> 42 43 </project>
6.2 部署项目
执行组件pom文件里添加项目的最小依赖组件。执行 maven install 命令。
它会把项目自动打成war包放在临时文件夹target目录下。
直接部署到tomcat里面,启动即可。
作者:Kei
出处:http://www.cnblogs.com/ikei/
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.