1环境变量配置
下载地址http://maven.apache.org/download.cgi
windows如何安装maven
1、安装java,配置好java的环境变量
2、下载apache-maven-3.1--bin.zipwindows版本(官网上有下载)
3、安装maven;安装目录假设为:D:\bin\apache-maven-3.0,添加maven的环境变量,变量名为:M2_HOME;值为: D:\bin\apache-maven-3.0;配置path变量,加上%M2_HOME%\bin;
4、最后mvn -v命令(CMD状态下)检测maven有没有 配置好。
-----------------------------------------------------------------
Linux如何安装maven
1、安装好java,配置好环境变量
2、下载apache-maven-3.0-bin.tar.gz;tar -xvzf apache-maven-3.0-bin.tar.gz
3、配置环境变量,设置M2_HOME 环境变量指向符号链接apache-maven即可; exportM2_HOME=/home/juven/bin/apache-maven export PATH=$PATH:$M2_HOME/bin
4、mvn –version 检测有没有安装好。
$mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 \-DartifactId=simple\-DpackageName=org.sonatype.mavenbook
mvnarchetype:generate
-DgroupId=com.mycompany.app
-DartifactId=my-app-simple
-Dversion=1.0
-DarchetypeArtifactId=maven-archetype-quickstart
2 web项目转maven项目
第一步:打开eclipse,新建一个maven项目,项目工程名称自定义,这里面使用mavenWeb作为项目名。
图(1)
单击右键选择New,在弹出的选项框(见图1)中选择Maven Project,然后单击next按钮,进入第二个选项框,如下图(2),也单击next按钮,进入图(3)所示界面。
图(2)
图(3)
在Catalog下拉框中选择All Catalogs 选项,maven项目默认模板构建使用maven-archetype-quickstart 即可,然后单击next按钮,进入图(4)所示界面。
图(4)
输入项目的GroupId、ArtifactId、Version、Package,然后单击finish按钮即可。这样,mavenWeb项目就建成功了,建成之后的项目组织形式如下图(5)。
图(5)
第二步:修改mavenWeb项目所使用的jdk、jre、编码格式等信息。(java程序员的基本功,这里忽略介绍)
第三部:添加存放配置文件、属性文件等的源目录。
图(6)
右击mavenWeb项目,选择Properties选项,进入图(6)所示界面,选择Java Build Path选项,然后选择Sources菜单栏,单击Add Folder... 按钮,弹出图(7)界面,如下所示:
图(7)
单击Create New Folder... 按钮,弹出图(8)界面,在输入框中输入src/main/resources(用于存放配置文件的地方),然后单击Next按钮,在单击Finish按钮即可。
图(8)
操作完成后,图(7)界面会变成图(9)所示界面。
图(9)
同样步骤,再创建源目录src/test/resources 。
第四步:maven工程转web工程。
右击mavenWeb工程,选择Properties选项,弹出图(10)所示界面,选择Project Facets选项,单击Convert to faceted from ... ,界面变为图(11)所示界面。
图(11)
选中Dynamic Web Module,Version改为2.5,在右边的Runtimes面板中选择项目部署的容器,结果如下图(12)所示。
图(12)
然后单击Revert按钮,最后单击OK按钮即可。最终的结果如图(13)所示。
图(13)
第五步:把需要转换的web项目中的java文件、配置文件等移动到mavenWeb项目的相应目录下即可。以一个maven项目为例,见图(14)。
图(14)
第六步:配置本地、测试环境、生产环境的属性文件,起名可以为env_native.properties,env_test.properties,env_product.properties 。
第七步:pom.xml文件的编写。
<profiles>
<profile>
<id>native</id>
<build>
<filters>
<filter>src/main/resources/env_native.properties</filter>
</filters>
</build>
</profile>
<profile>
<id>test</id>
<build>
<filters>
<filter>src/main/resources/env_test.properties</filter>
</filters>
</build>
</profile>
<profile>
<id>product</id>
<build>
<filters>
<filter>src/main/resources/env_product.properties</filter>
</filters>
</build>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
<webResources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<targetPath>WEB-INF/classes</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
Maven中的标签及其含义,可以百度。
第八步:lib库的处理。不在pom.xml文件中用
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
这种方式显示加载jar包,而是直接一次性导入所有jar。
方法如下:在项目上单击右键,选择Properties选项,然后在左边的面板中选择Java Build Path... 菜单,在右边的面板中选择Libraries面板,单击Maven Dependencies,选择Native library location,然后单击Edit... 按钮,在弹出的选项框中单击Workspace...按钮,选择项目中所使用的lib目录,然后单击OK即可。见图(15)。
之所以这样做的原因是maven的lib库建起来比较费时,而且各个项目中的jar包、版本等各不相同,如果同一集中管理,这个过程比较费时,故先直接使用原先项目中的jar文件即可,这样很快就能把原先的web项目直接转换为maven web项目。
图(15)
第九步:在需要加载配置文件的地方,先用占位符把位置站住即可,代码如下:
<context:property-placeholder location="${env.properties}" />
第十步:用maven命令打war。
本地war包命令:mvn package -P native
测试环境war包命令:mvn package -P test
生产环境war包命令:mvn package -P product
以后项目就能全量部署了。
以上步骤中可能存在没说清楚的地方,请见谅。
3私有库使用
准备工作
c:/windows/system32/drivers/etc/hosts
加上192.168.227.99 repo.bestpay.com.cn
复制\\192.168.227.99\学习文档\maven\settings.xml到我的文档\.m2\settings.xml
一、配置公网maven库JAR包
1、查询网址http://mvnrepository.com/ http://search.maven.org/
2、在搜索框查询你需要的jar包名字如junit,然后点击search
3、选择搜索相关项,然后选择jar包的版本,如4.8.2,尽量选择release版本的稳定jar包
4、复制下图红框内容进自己的maven项目 ,pom.xml文件中
<scope>test</scope>表示这个jar包在最后打成war包时不会载入,因为这个是单元测试用的所以这么配置,普通jar不写就行。
配置私有JAR包,如bestpay.jar
进入网址http://192.168.227.99:8081/nexus/登录用户
选择3rd party ,然后选择artifactupload
如图填写
上传jar包
根据上传时填入的内容编写pom文件导入jar包,也可以查询
查询一下jar包是否导入了
4设置详细配置
<?xmlversion="1.0" encoding="UTF-8"?>
<settingsxmlns="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.0http://maven.apache.org/xsd/settings-1.0.0.xsd">
<pluginGroups></pluginGroups>
<proxies></proxies>
<servers>
<server>
<id>tboss-site-server</id>
<username>pamirs</username>
<password>pamirs</password>
</server>
<server>
<id>releases</id>
<username>admin</username>
<password>taobao123456789</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>taobao123456789</password>
</server>
<server>
<id>taocodeReleases</id>
<username>admin</username>
<password>admintaocode321</password>
</server>
<server>
<id>taocodeSnapshots</id>
<username>admin</username>
<password>admintaocode321</password>
</server>
<server>
<id>aixforce-releases</id>
<username>admin</username>
<password>aixforce123</password>
</server>
<server>
<id>aixforce-snapshots</id>
<username>admin</username>
<password>aixforce123</password>
</server>
<server>
<id>bestpay-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>bestpay-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<mirrors></mirrors>
<profiles>
<profile>
<id>taobao</id>
<repositories>
<repository>
<id>m2</id>
<name>m2mirror</name>
<layout>default</layout>
<url>http://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>central</id>
<url>http://mvnrepo.taobao.ali.com/mvn/repository</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>snapshots</id>
<url>http://mvnrepo.taobao.ali.com/mvn/repository</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>taocodeReleases</id>
<name>taocodenexus</name>
<url>http://mvnrepo.code.taobao.org/nexus/content/repositories/releases</url>
</repository>
<repository>
<id>taocodeSnapshots</id>
<name>taocodenexus</name>
<url>http://mvnrepo.code.taobao.org/nexus/content/repositories/snapshots</url>
</repository>
<repository>
<id>mvnsearch</id>
<name>Maven searchrepository</name>
<url>http://www.mvnsearch.org/maven2/</url>
</repository>
<!--
<repository>
<id>groovypprepo</id>
<name>Groovypprepository</name>
<url>http://groovypp.artifactoryonline.com/groovypp/libs-releases-local/</url>
</repository>
-->
</repositories>
</profile>
<profile>
<id>dev</id>
<repositories>
<repository>
<id>bestpay</id>
<name>bestpay</name>
<url>http://repo.bestpay.com.cn:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- EXAMPLE FOR MYSQL -->
<sonar.jdbc.url>jdbc:oracle:thin:@116.228.55.185:21521:TEST</sonar.jdbc.url>
<sonar.jdbc.driverClassName>oracle.jdbc.driver.OracleDriver</sonar.jdbc.driverClassName> <sonar.jdbc.username>btupayprod</sonar.jdbc.username>
<sonar.jdbc.password>1234</sonar.jdbc.password>
<sonar.host.url>http://192.168.232.209:9099/</sonar.host.url>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
</settings>