Maven(二)- Maven 常用命令

  • maven 常用命令
    注:需要在 Maven 项目的根目录下执行
命令 描述
mvn -v (mvn -version) 显示版本信息
mvn clean 清理项目生产的临时文件,一般是模块下的 target 目录
mvn compile 编译源代码,一般编译模块下的 src/main/java 目录
mvn package 项目打包工具,会在模块下的 target 目录生成 jarwar 等文件
mvn test 测试命令,或执行 src/test/java/junit 的测试用例
mvn install 将打包的 jar/war 文件复制到本地仓库中,供其他模块使用
mvn deploy 将打包的文件发布到远程参考,提供其他人员进行下载依赖
mvn site 生成项目相关信息的网站
mvn eclipse:eclipse 将项目转化为 Eclipse 项目
mvn dependency:tree 打印出项目的整个依赖树
mvn archetype:generate 创建 Maven的普通 java 项目
mvn tomcat7:run tomcat 容器中运行 web 应用
mvn jetty:run 调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用
  • Maven参数
参数 作用
-D 传入属性参数
-P 使用 pom 中指定的配置
-e 显示 maven 运行出错的信息
-o 离线执行命令,即不去远程仓库更新包
-X 显示 maven 允许的 debug信息
-U 强制去远程参考更新 snapshot
  • 示例:
    1、创建 Maven 的普通 java 项目:
    mvn archetype:create -DgroupId=packageName -DartifactId=projectName
    2、创建 MavenWeb 项目:
    mvn archetype:create -DgroupId=packageName -DartifactId=webappName-DarchetypeArtifactId=maven-archetype-webapp
    3、打包时跳过单元测试
    mvn package -Dmaven.test.skip=true
    4、部署项目时跳过单元测试
    mvn deploy -Dmaven.test.skip=true

  • 一般项目开发需要多个环境:开发、测试、预发、正式4个环境,可在 pom.xml 中进行配置

<profiles>
    <!-- 开发环境 -->
    <profile>
        <id>dev</id>
        <properties>
            <current.env>dev</current.env>
        </properties>
        <activation>
            <!--指定该环境为默认配置-->
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>

    <!-- 测试环境 -->
    <profile>
        <id>qa</id>
        <properties>
            <current.env>qa</current.env>
        </properties>
    </profile>

    <!-- 预发 -->
    <profile>
        <id>pre</id>
        <properties>
            <current.env>pre</current.env>
        </properties>
    </profile>

    <!-- 正式 -->
    <profile>
        <id>prod</id>
        <properties>
            <current.env>prod</current.env>
        </properties>
    </profile>
</profiles>

<build>
    <filters>
       <filter>config/${env}.properties</filter>
    </filters>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
    ...
</build>
  • profiles 定义了各个环境的变量 IDfilters 中定义了变量配置文件的地址,其中地址中的环境变量就是上面 profile 中定义的值,resources 中是定义哪些目录下的文件会被配置文件中定义的变量替换
  • 通过 maven 可以实现按不同环境打包部署:
    mvn package -Pdev -Dmaven.test.skip=true
    打包本地环境,并跳过单元测试
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容