博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MAVEN常用命令+基本配置详解 2015
阅读量:4037 次
发布时间:2019-05-24

本文共 3937 字,大约阅读时间需要 13 分钟。

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>

转载地址:http://vbjdi.baihongyu.com/

你可能感兴趣的文章
iOS __block和__weak的区别
查看>>
Android(三)数据存储之XML解析技术
查看>>
Spring JTA应用之JOTM配置
查看>>
spring JdbcTemplate 的若干问题
查看>>
Servlet和JSP的线程安全问题
查看>>
GBK编码下jQuery Ajax中文乱码终极暴力解决方案
查看>>
Oracle 物化视图
查看>>
PHP那点小事--三元运算符
查看>>
解决国内NPM安装依赖速度慢问题
查看>>
Brackets安装及常用插件安装
查看>>
Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
查看>>
fastcgi_param 详解
查看>>
Nginx配置文件(nginx.conf)配置详解
查看>>
标记一下
查看>>
一个ahk小函数, 实现版本号的比较
查看>>
IP报文格式学习笔记
查看>>
autohotkey快捷键显示隐藏文件和文件扩展名
查看>>
Linux中的进程
查看>>
学习python(1)——环境与常识
查看>>
学习设计模式(3)——单例模式和类的成员函数中的静态变量的作用域
查看>>