Maven基础命令

Maven基础命令

1、mvn compile (编译项目源代码,生成target/
在这里插入图片描述
2、mvn clean (删除项目下的target/

[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ operation-tdp-service ---
[INFO] Deleting D:\code\java\operation_platform\operation-tdp\operation-tdp-service\target

在这里插入图片描述
3、mvn test (运行测试类)
4、mvn package (打包项目jar包/war包)
在这里插入图片描述
5、mvn install (安装项目打包的jar包到本地仓库repository中)
在这里插入图片描述

6、mvn deploy (上传本地jar包到私服/远端仓库)
7、mvn site (生成site站点文件)
8、mvn test-compile (编译测试代码)
9、mvn -Dtest package (打包,跳过测试)

10、mvn source:jar (源码打包成jar包,只在本地工程目录下)

  • 方式一:在单个pom文件中对插件进行配置
 <build>
        <plugins>
            <plugin>
            
                <!--配置插件的坐标 -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.2</version>
                
                <!-- 配置插件执行的时机,这里指定的是在完成package之后 -->
                    <executions>
                        <execution>
                            <phase>
                                package
                            </phase>
                            
                            <goals>
                                <goal>jar-no-fork</goal>    
                            </goals>
                        </execution>
                    </executions>
                    
                    
                    <!--配置
                        outputDirectory:指定打成jar包存放的位置,我们可以指定绝对路径,默认是target文件夹中
                        finalName:打成jar的名字为finalName的值-source.jar
                        attach:指定是否关联到源代码的 artifact (一般为false)
                     -->
                    <configuration>
                        <outputDirectory>D:/user-core/resource</outputDirectory>
                        <finalName>user-core</finalName>
                        <attach>false</attach>
                    </configuration>
                         
            </plugin>
        </plugins>
    </build>
  • 方式二:通过pom继承的方式在多个pom文件中对插件进行配置
<!-- 在父pom中配置插件的管理 -->
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>2.2</version>
                    
                    <executions>
                        <execution>
                            <phase>
                                package
                            </phase>
                            
                            <goals>
                                <goal>jar-no-fork</goal>    
                            </goals>
                        </execution>
                    </executions>
                    
                    <!--
                    <configuration>
                        <outputDirectory>D:/user-core/resource</outputDirectory>
                        <finalName>user-core</finalName>
                        <attach>false</attach>
                    </configuration>
                         -->
                </plugin>
            </plugins>
        </pluginManagement>
       </build>

在子pom文件中配置如下:

<!-- 从父类中继承的插件 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

通过引入以上source-plugin,可以执行一下源代码打包命令:
(1)mvn source:jar 只打包源代码成jar包在指定文件目录下
(2)mvn package 不仅打包源代码jar包,还打包正常class的jar包
(3)mvn install 打包源代码jar,打包class文件的jar,并且安装源代码jar和class的jar包到本地仓库
(4)mvn deploy 打包源代码jar,打包class文件的jar,并且发布上述jar包到私服或者远程仓库上

  • maven跳过单元测试maven.test.skip和skipTests的区别
    -DskipTests,不执行测试用例,但会编译测试用例类生成相应的class文件至target/test-classes下
    -Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类

1、使用maven.test.skip,不但跳过测试用例的执行,也跳过测试用例的编译

mvn package -Dmaven.test.skip=true

也可以在pom文件中配置

<plugin>  
    <groupId>org.apache.maven.plugin</groupId>  
    <artifactId>maven-compiler-plugin</artifactId>  
    <version>2.1</version>  
    <configuration>  
        <skip>true</skip>  
    </configuration>  
</plugin>  
<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-surefire-plugin</artifactId>  
    <version>2.5</version>  
    <configuration>  
        <skip>true</skip>  
    </configuration>  
</plugin>

2、使用 mvn package -DskipTests 跳过单元测试,但是会继续编译;如果没时间修改单元测试的bug,或者单元测试编译错误。使用上面的,不要用这个

<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-surefire-plugin</artifactId>  
    <version>2.5</version>  
    <configuration>  
        <skipTests>true</skipTests>  
    </configuration>  
</plugin> 

默认idea的跳过测试采用的是第二种,所以仍然会编译代码,如果想不执行测试用例,也不编译测试用例类,那么必须采用第一种方式在pom中加上skip为true,这样才能跳过编译
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值