Maven

113 阅读1分钟

安装

  • 下载解压

  • 配置环境变量

    MAVEN_HOME = apache-maven
    
    path = %MAVEN_HOME%\bin
    
  • 配置settings文件

    <!--配置本地仓库地址-->
    <localRepository></localRepository>
    
    <!--配置远程仓库地址-->
    <mirror>
        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>
    
    <!--配置JDK-->
    <profile>
        <id>jdk-1.8</id>
        <activation>
            <activeByDefault>true</activeByDefault>
            <jdk>1.8</jdk>
        </activation>
        <properties>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
        </properties>	
    </profile>
    

maven命令

# 编译test代码到test-classes目录
mvn test-compile	

# 编译test代码,并执行test-classes代码
mvn test

# 清除target目录
mvn clean

# 编译main代码到classes目录
mvn compile

# main代码成jar包
mvn package

# 将jar包发布到本地仓库
mvn install

# 将jar包发布到远程仓库
mvn deploy		

pom.xml

<!--pom模型版本号-->
<modelVersion>4.0.0</modelVersion>
<!--定义项目标识符-->
<groupId>groupId</groupId>
<artifactId>artifactId</artifactId>
<version>1.0-SNAPSHOT</version>
<!--properties定义变量,也可以在命令中指定 -D proj.version=1.0-RELEASE -->
<properties>
    <proj.version>1.0-SNAPSHOT</proj.version>
</properties>

<version>${proj.version}</version>
<!--
	定义项目打包类型
	pom定义父项目,聚合子项目
	jar, war定义打包类型
-->
<packaging>pom</packaging>
<!--声明父项目-->
<parent>
    <artifactId>artifactId</artifactId>
    <groupId>groupId</groupId>
    <version>1.0-SNAPSHOT</version>
</parent>
<!--
	compile,仅编译时
	test,仅测试时
	provided,仅编译和测试时
	runtime,仅运行时
-->
<scope>runtime</scope>
<!--引入依赖-->
<dependencies>
    <dependency>
        <groupId>groupId</groupId>
        <artifactId>artifactId</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
</dependencies>
<!--排除依赖-->
<exclusions>
	<exclusion>
        <groupId>groupId</groupId>
        <artifactId>artifactId</artifactId>
        <version>1.0-SNAPSHOT</version>
    </exclusion>
</exclusions>
<!--聚合子项目-->
<modules>
    <module>business-control</module>
    <module>business-portal</module>
</modules>
<!--
	父项目管理包版本号
	子项目需显式引用
-->
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>groupId</groupId>
            <artifactId>artifactId</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</dependencyManagement>
<!--配置环境,也可以通过命令指定 -P prod -->
<profiles>
    <profile>
        <id>test</id>
        <dependencies></dependencies>
        <properties></properties>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <id>prod</id>
        <dependencies></dependencies>
        <properties></properties>
    </profile>
</profiles>