Maven操作手册

来源:互联网 发布:python与量化交易 编辑:程序博客网 时间:2024/05/19 06:38

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>

0 0
原创粉丝点击