首页 > 其他分享 >maven命令

maven命令

时间:2023-09-13 09:46:22浏览次数:43  
标签:install jar maven 命令 clean test mvn

参考:https://blog.csdn.net/hawinlolo/article/details/115860387

clean

clean 是 maven 工程的清理命令,执行 clean 会删除 target 目录及内容。

test

test 是 maven 工程的测试命令 mvn test,会执行src/test/java下的单元测试类。

compile

compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target目录下。

package

package 是 maven 工程的打包命令,对于 java 工程执行 package 打成 jar 包,对于web 工程打成war包。

install

install 是 maven 工程的安装命令,执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。

deploy

deploy是 maven 工程的部署命令,部署包到远程服务器

常用命令

---------------实际应用-----------------------
# 1、刷新子模块版本号: 
mvn versions:update-child-modules
# 2、重新打包到maven本地库: 
mvn clean install -Dmaven.test.skip=true
mvn install
# 3、部署包到远程服务器
mvn clean deploy -Dmaven.test.skip=true

#---------------------一般常用命令-----------------------
# 该命令打印出所有的java系统属性和环境变量
mvn  help:system 自动在本用户下创建   ~/.m2/repository
# 清理输出目录默认target/
mvn clean
mvn clean compile     清理编译
# maven test,但实际执行的命令有:clean:clean,resource:resources,compiler:compile, resources:testResources, compiler:testCompile,maven在执行test之前,会先自动执行项目主资源处理,主代码编译,测试资源处理,测试代码编译等工作,测试代码编译通过之后默认在target/test-calsses目录下生成二进制文件,紧接着surefile:test 任务运行测试,并输出测试报告,显示一共运行了多少次测试,失败成功等等
mvn clean test  清理测试
mvn clean package 清理打包
mvn clean install  清理将打包好的jar存入 本地仓库  注意是本地仓库
mvn clean deploy  根据pom中的配置信息将项目发布到远程仓库中 

echo %MAVEN_HOME%:查看maven安装路径

---------------------创建项目-------------------------------
mvn -version/-v    显示版本信息
mvn archetype:generate  创建mvn项目,使用Archetype生成项目骨架
mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app 创建mvn项目
# 创建Maven的普通java项目:
mvn archetype:create -DgroupId=packageName -DartifactId=projectName 
# 创建Maven的Web项目:  
mvn archetype:create -DgroupId=packageName   -DartifactId=webappName-DarchetypeArtifactId=maven-archetype-webapp   

---------------------优化依赖命令-------------------------------
mvn dependency:list   显示所有已经解析的所有依赖
mvn dependency:tree  以目录树的形式展现依赖,  最高层为一层依赖 其次二层依赖 三层依赖....
mvn dependency:analyze  第一部分显示 已经使用但是未显示依赖的的  第二部分显示项目未使用的但是依赖的

---------------------第三方jar 发布到远程仓库---------------------
mvn deploy:deploy-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar -DrepositoryId=maven-repository-inner -Durl=ftp://xxxxxxx/opt/maven/repository/

---------------------第三方jar 安装到本地仓库---------------------
mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar -DdownloadSources=true -DdownloadJavadocs=true

#你是否因为记不清某个插件有哪些goal而痛苦过,你是否因为想不起某个goal有哪些参数而苦恼,那就试试这个命令吧,它会告诉你一切的.参数: 1. -Dplugin=pluginName   2. -Dgoal(或-Dmojo)=goalName:与-Dplugin一起使用,它会列出某个插件的goal信息,如果嫌不够详细,同样可以加-Ddetail.(注:一个插件goal也被认为是一个 “Mojo”)
mvn help:describe -Dplugin=help -Dmojo=describe

mvn -e    显示详细错误 信息.
mvn validate  验证工程是否正确,所有需要的资源是否可用。
mvn test-compile 编译项目测试代码。 。
mvn integration-test  在集成测试可以运行的环境中处理和发布包。
mvn verify    运行任何检查,验证包是否有效且达到质量标准。 
mvn generate-sources  产生应用需要的任何额外的源代码,如xdoclet。

pom.xml常用配置

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>  <!-- 固定值在MAVEN3中-->
  <groupId>cuiyaonan2000</groupId>  <!-- 所属于的组 -->
  <artifactId>maven</artifactId>  <!-- 唯一标示 -->
  <version>0.0.1-SNAPSHOT</version>  <!-- 版本号 -->
  <packaging>war</packaging>   <!-- 项目的打包方式,默认使用jar -->
  <name>maven项目模板的基本使用</name>
  <description> 这里的描述不知道是干吗用</description>
   
   <properties>
        <springframework.version>2.5.6</springframework.verson>
        <!-- 归类依赖 只需在  <version>${springframework.version}</version>  使用就可以了-->
   </properties>

<dependencies>
    <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId> 
          <version>4.7</version> 
          <!-- <type>依赖的类型,大部分情况下不必声明 默认是jar</type> -->
          <scope>test</scope>  <!--  依赖范围  传递性依赖 详见p63 -->
          <!-- <optional>标记依赖是否可选 不明白 该处的值是 true 和 false </optional> -->
          <!--
                <exclusions>
                    <exclusion>
                        排除传递性依赖 只需列出如下的2项就可以了
                        <groupId></groupId>
                        <artifactId></artifactId>
                    </exclusion>
                </exclusions>
          -->
    </dependency>
</dependencies>

<build>
    <plugins>
        <!-- 设置这个插件的对应Java版本,貌似是为了解决一个历史问题-->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId> 
            <configuration>
                <source>1.5</source>
                <target>1.5</target>
            </configuration>
        </plugin>
        <!-- 如下使用UTF-8 处理资源文件 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <configuration>
                 <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
    </plugins>


<!--  配置远程版本仓库  -->
<repositories>
    <!-- 设置远程版本库  直接收发布版本 不接受快照版本-->
    <repository>
        <id>jboss</id>  <!-- 如果是用central 就会覆盖中央仓库 -->
        <name>JBoss Repository</name>
        <url>http://repository.jboss.com/maven2/</url>
        <release>
            <enabled>true</enabled>
            <!-- 如下的2个参数详见p83
            <updatePolicy>daily</updatePolicy>  
            <checksumPolicy>ignore</checksumPolicy>
            -->
        </release>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <layout>default</layout>
    </repository>
</repositories>

<!--  将该项目 发布到远程仓库中 -->
<distributionManagement>
    <repository>
        <id>proj-release</id>   <!--  这里的id是为了 跟setting.xml中的 username  和 userpassword 的id匹配,有的仓库需要权限账户-->    
        <name>Proj Release Repository</name>
        <url>http://192.168.89.130</url>
    </repository>
    <snapshotRepository>
        <id>proj-release</id>
        <name>Proj Release Repository</name>
        <url>http://192.168.89.130</url>
    </snapshotRepository>
</distributionManagement>

</build>
</project>

标签:install,jar,maven,命令,clean,test,mvn
From: https://www.cnblogs.com/hasome/p/17698661.html

相关文章

  • Maven 编译后War包运行失败
    问题发生原因项目构建使用Maven,因为代码较老有一些jar包是本地项目打包生成,一部分jar是古老第三方包,不准备上传私有仓库。在war包构建时使用maven插件maven-war-plugin。<plugin><groupId>org.apache.maven.plugins</groupId><a......
  • 在 Docker 容器中部署 Ubuntu 系统,并使其编码为 UTF-8 并能使用 apt、rpm、vi 等命令
    运行一个新的Docker容器并以交互模式运行dockerrun-itd--namemy-ubuntuubuntu:20.04/bin/bash在容器中更新apt包管理器索引和安装基本工具aptupdate-yaptinstall-yapt-utilswgetcurlvimlocales在容器中设置UTF-8编码在文件中找到en_US.UTF-8UTF-8......
  • 001.查找命令和实用快捷键
    1、ctrl+R查找使用过的命令,按回车运行2、history    !+对应的序号运行命令 3、ctrl+l清屏目 4、ctrl+D文件结束符号 ......
  • 如何在 Linux 中使用 Chage 命令,修改Linux系统用户密码更改策略
    Chage是一个用于修改Linux系统用户密码更改策略的命令行工具。在本文中,我们将介绍如何在Linux系统中使用Chage命令。检查用户密码过期信息使用Chage命令可以检查用户密码更改策略和过期信息。要检查特定用户的密码过期信息,可以使用以下命令:sudochage-l用户名例如,要检查名为......
  • 5、linux命令之`tail`
    目录linux命令之tail1、语法2、参数3、实例linux命令之tail用来打印日志,可以指定后面多少行输出。1、语法tail[参数][文件]2、参数选项说明-f循环读取-q不显示处理信息-v显示详细的处理信息-c<数目>显示的字节数-n<行数>显示文件的尾部n行......
  • iptables简述及命令示例
    iptables:在Linux系统中,iptables不仅仅是一个服务或守护进程,它实际上是内核空间的一部分,用于处理网络包过滤和网络地址转换。这意味着,即使iptables服务没有运行,内核模块仍然会按照当前的iptables规则来处理网络数据包。iptables.service或者iptables-services通常用于......
  • windows sc 命令将服务程序安装成为服务
    注册服务sccreateceshibinpath=D:\ceshi\ceshi.exetype=ownstart=autodisplayname=ceshibinpath:你的应用程序所在的路径。displayname:服务显示的名称如何判断服务是否注册成功:在cmd中输入services.msc打开系统服务,查看是否出现ceshi名称的服务(即displayname=后......
  • Windows常用的命令行客户端,你都用过吗?
    今天给大家分享Windows常用的命令行客户端,希望对大家能有所帮助!对于IT运维人员来说,和命令打交道是必不可少的事情,拥有一个好用的CMD命令行工具,对提升效率是非常有必要的,今天给大家分享Windows常用的命令行客户端,希望对大家能有所帮助!1、PowerShellPowerShell是Windows系统自带的一......
  • jmeter 命令运行生成html报告
    打开cmd跳转到需要执行jmx文件的目录 执行生成命令。jmeter-n-tC:\Users\XXX\Desktop\test-automation\BCM\bcm_自动化.jmx-lresult.jtl-e-ojmeter 生成的结果文件和之前jmx文件是一个目录  如果执行命令提示jmeter不是内部命令,检查jmeter的环境变量配置......
  • yum命令常用的功能
    环境centos7.9介绍:yum是一种用于管理RedHat系列Linux发行版的软件包管理工具。它可以简化安装、更新和卸载软件包的过程,并且能够自动解决软件包的依赖关系。基本命令安装软件包yuminstall<package_name>-y更新软件包yumupdate-y卸载软件包yumremove<packa......