打赏

星辰大海ゞ

That which does not kill us makes us stronger!

导航

Linux下安装maven

set home_dir=C:
set project_dir=%home_dir%\Users\Administrator\Desktop\123

%home_dir%
cd %project_dir%\ztyq_bs-service\
call mvn clean
call mvn install -DskipTests   #测试类
call mvn -Pproduct package

可以合一起

call mvn clean package -DskipTests -Pproduct

 

 

  • mvn clean:清空输出目录(即 target 目录)

  • mvn compile:编译源代码

  • mvn package:生成构件包(一般为 jar 包或 war 包)

  • mvn install:将构件包安装到本地仓库

  • mvn deploy:将构件包部署到远程仓库

 

区别:

  • mvn package打包到本项目,一般在项目target目录下。
  • mvn install打包到本地仓库,如果没设置Maven本地仓库,一般在用户/.m2目录下。
  • mvn deploy打包上传到远程仓库,如:私服nexus等,需要配置pom文件。

总结:

  • package命令:完成项目编译、单元测试、打包功能,但打包文件未部署到本地Maven仓库和远程Maven仓库。
  • install命令:完成项目编译、单元测试、打包功能,同时把打包文件部署到本地Maven仓库,但未部署到远程Maven仓库。
  • deploy命令:完成项目编译、单元测试、打包功能,同时把打包文件部署到本地Maven仓库和远程Maven仓库。

 

 

可以通过yum安装:

#wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

#yum -y install apache-maven

 

或者:

 

1.首先到Maven官网下载安装文件,目前最新版本为3.0.5,下载文件为apache-maven-3.0.5-bin.tar.gz,下载可以使用wget命令;

2.进入下载文件夹,找到下载的文件,运行如下命令解压

tar -xvf  apache-maven-3.0.5-bin.tar.gz


解压后的文件夹名为apache-maven-3.0.5

3.使用mv命令将apache-maven-3.0.5文件夹拷贝到自己指定的文件夹,比如/usr/local/下

sudo mv -f apache-maven-3.0.5 /usr/local/


4.配置环境变量,编辑/etc/profile文件,添加如下代码

MAVEN_HOME=/usr/local/apache-maven-3.0.5
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin


5.保存文件,并运行如下命令使环境变量生效

source /etc/profile


6.在控制台输入如下命令,如果能看到Maven相关版本信息,则说明Maven已经安装成功

mvn -v
 
7.设置本地maven仓库缓存路径
<localRepository>/usr/local/maven/repository</localRepository>
 
8.设置私服镜像拉取地址
<mirrors>
    <mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <url>http://10.0.10.54:8081/nexus/content/groups/public/</url>
    </mirror>

    <mirror>
      <id>nexus-osc</id>
      <mirrorOf>*</mirrorOf>
      <name>Nexus osc</name>
      <url>http://maven.oschina.net/content/groups/public/</url>
    </mirror>
</mirrors>

 

 
常用命令:
打包:mvn package   
清除产生的项目:mvn clean   
编译源代码:   mvn compile 
编译测试代码:mvn test-compile  
运行测试:mvn test 
 
一系列动作合用:mvn clean compile package
 
-------------------------------------------------------------------------------------------------------------------------------------------------------
项目开发好以后,通常要在多个环境部署,像我们公司多达5种环境:本机环境(local)、(开发小组内自测的)开发环境(dev)、(提供给测试团队的)测试环境(test)、预发布环境(pre)、正式生产环境(prod),每种环境都有各自的配置参数,比如:数据库连接、远程调用的ws地址等等。如果每个环境build前手动修改这些参数,显然太不fashion.
maven早就考虑到了这些问题,看下面的pom片段:
<profiles>
        <profile>
            <!-- 本地环境 -->
            <id>local</id>
            <properties>                
                <db-url>jdbc:oracle:thin:@localhost:1521:XE</db-url>
                <db-username>***</db-username>
                <db-password>***</db-password>
            </properties>
        </profile>
        <profile>
            <!-- 开发环境 -->
            <id>dev</id>
            <properties>                
                <db-url>jdbc:oracle:thin:@172.21.129.51:1521:orcl</db-url>
                <db-username>***</db-username>
                <db-password>***</db-password>
            </properties>
            <!-- 默认激活本环境 -->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        ...
    </profiles>

profiles节点中,定义了二种环境:local、dev(默认激活dev环境),可以在各自的环境中添加需要的property值,接下来修改build节点,通常配置文件放在resources目录下,build时该目录下的文件都自动会copy到class目录下

以上图为例,其中spring-database.xml的内容为:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
        <property name="url" value="${db-url}" />
        <property name="username" value="${db-username}" />
        <property name="password" value="${db-password}" />        
    </bean>
</beans>

各属性节点的值,用占位符"${属性名}"占位,maven在package时,会根据profile的环境自动替换这些占位符为实际属性值。

默认情况下: 

maven package

将采用默认激活的profile环境来打包,也可以手动指定环境,比如:

maven package -P dev

将自动打包成dev环境的部署包(注:参数P为大写)

 

参考资料:http://www.cnblogs.com/yjmyzz/p/3941043.html

 

 

posted on 2015-01-14 17:59  星辰大海ゞ  阅读(327)  评论(0编辑  收藏  举报