zoukankan      html  css  js  c++  java
  • maven命令详解

    mvn  -v  类似于 javac -version  或者 git --version

    在linux上使用maven也需要像使用java一样设置环境变量 这是 
    export M2_HOME     = /?
    export PATH = $PATH:$M2_HOME/bin
    export MAVEN_OPTS = -Xms256m -Xmx512m


    关于myeclipse中的内嵌maven的替换.路径是  Windows-->Preferences-->Maven-->右边点击add进行替换



    ------------------------------------一般常用命令----------------------------------------
    mvn  help:system 自动在本用户下创建   ~/.m2/repository
    mvn clean compile     清理编译
    mvn clean test  清理测试
    mvn clean package 清理打包
    mvn clean install  清理将打包好的jar存入 本地仓库  注意是本地仓库
    mvn archetype:generate 使用Archetype生成项目骨架
    mvn clean deploy  根据pom中的配置信息将项目发布到远程仓库中 
    ------------------------------------一般常用命令----------------------------------------


    ---------------------------------maven目录结构----------------------------------------
    src/main/java :正式内容包路径
    src/mian/resources :正式的配置文件路径
    src/test/java :测试包路径
    src/test/resources :测试的配置文件路径
    src/main/webapp : war 资源目录
    ---------------------------------maven目录结构----------------------------------------



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

    构件: jar 插件 war  所有依赖的jar
    构建:编译 测试 打包 发布



    ---------------------------关于 maven的生命周期 和插件 关系---------------------
    生命周期就是接口:表明要干什么事情
    插件就是具体的实现:表明怎么干这件事情
    ---------------------------关于 maven的生命周期 和插件 关系---------------------



    聚合,继承,集成测试,自动化部署,(这几块非常重要 自己去瞅瞅吧)

    如下是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 详见p66</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>

  • 相关阅读:
    分类在使用runtime做方法交换时
    打包自己Framework中含有第三方库的解决方案分CocoaPods与手动导入两种方式
    iOS 百分比圆环曲线swift4.0实现
    最新swift4.0 图片进行尺寸大小及体积压缩
    swift 密码由6-16数字和字母组合组成
    Android 7.0 之后相机/文件读写等权限获取方式改变,导致开启相机闪退
    Android Manifest 中 uses-feature 和 uses-permission的作用 关系和区别
    Android studio 3.1.3真机调试报错,no target device found
    如何用Java实现条件编译
    Missing android.support.FILE_PROVIDER_PATHS meta-data 报错原因分析
  • 原文地址:https://www.cnblogs.com/chenxqNo01/p/6761826.html
Copyright © 2011-2022 走看看