maven

Maven详解(学习、安装、配置)——看这个一篇就够了 (之前我们创建项目,需要确定项目的目录结构,比如src 存放Java源码, resources存放配置文件,webContent放前端页面,还要配置环境比如JDK的版本等等,如果有多个项目 那么就需要每次自己搞一套配置,十分麻烦。操作麻烦,如果人家版本更新了,或者我们的项目需要更新某个模块,导致之前加入的依赖包,又需要重新下载最新版本,重新加入到项目里。:Maven公司团队所管理的服务器,架设在Internet上,为全世界的所有Maven工程服务,基本上存储着99%的jar包。①阿里中央仓库(首选推荐) 阅读详情

 

http://www.javaeye.com/topic/207653

主题:Maven2上路

 

1. Maven2公司培训资料PPT+实例

maven2的主要功能

 

* 构建项目( Builds
     可以构建 jar war ear zip ejb 类型的项目
* 文档编制( Documentation
* 报告( Reporting
* 依赖管理( Dependencies
* 配置管理( SCMs
* 发布管理( Releases

 

 

 


2. Better Builds with Maven The How-to Guide for Maven 2.0
免费的英文电子书,介绍得非常全面,看完前几章,阅读障碍不大。

3. Maven2 介绍
总结得很好,呵呵,非常到位!
P.S. 貌似Better Builds with Maven The How-to Guide for Maven 2.0 前几章的中文版?:-)

 

 

maven是一个java项目管理工具,深化了ant,但又有自己一整套的项目集成策略。目前的版本是2.0.2。

  1. maven网站 下载maven2,解压缩

  2. 配置环境变量:maven_home、path

  3. cmd-> mvn --version 检查是否安装成功 [显示版本号,则说明安装成功]

  4. 配置,Maven的配置分为三个层次:

    • - pom.xml:针对某个项目的配置

    • Installation

    • User -针对某个用户的配置

    我们首先配置主要是user级别的,主要包括两点:设置本地的资源库和代理服务器[如果需要的话] 在%maven_home%/conf/setting.xml中配置:

    					<localRepository>d:/repo</localRepository>
    					<proxy>
    <id>proxy1</id>
    <active>true</active>
    <protocol>http</protocol>
    <username></username>
    <password></password>
    <host>222.136.91.1</host>
    <port>80</port>
    <nonProxyHosts></nonProxyHosts>
    </proxy>

    修改之后copy一份到${home}/.m2

  5. 建立新的项目

    mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
    • 首先,程序会从远程下载必要的jar包到你的localRepository,即我们刚刚设置的[d:/repo]

    • 然后,会在当前目录下面生成my-app文件夹,包括简单的包结构[java,test]和一个HelloWorld程序及测试,以及pom.xml文件。

    注意:pom.xml contains the Project Object Model (POM) for this project.The POM is the basic unit of work in Maven。

  6. 编译

    mvn compile

    第一次运行会下载很多jar包,而且机器负荷会很重。运行这个命令需要在pom.xml相同目录下面, 这个编译只编译主程序,不会编译test下面的程序。如果需要单独编译test,请运行:

    mvn test-compile

    compile之后会生成target文件夹,主程序编译在classes下面,测试程序放在test-classes下

  7. 测试    mvn test                 会自动先编译再运行测试

  8. 打包    mvn package          打包之前会进行编译,测试

  9. 安装    mvn install              会将package之后的jar包copy到

    <local-repository>/com/mycompany/app/my-app/1.0-SNAPSHOT/my-app-1.0-SNAPSHOT.jar
  10. 其他

    mvn site

    注意,还可以:

    deploy site

    在pom.xml中加入

     <distributionManagement>
    <site>
    <id> website </id>
    < url> scp://www.mycompany.com/www/docs/project/ </url>
    </site>
    </distributionManagement>

    当然你需要设置server

    mvn site-deploy
    mvn clean
    mvn idea:idea [为IDE工具idea生成项目文件]
  11. Resource

    ${basedir}/src/main/resources都会编译到jar文件中,而且该目录下的内容将直接位于jar文件的顶部。

    测试用资源文件-> ${basedir}/src/test/resources,引用时如下例:

    InputStream is = getClass().getResourceAsStream( "/test.properties" );

    文件位于 ${basedir}/src/test/resources/test.properties。

  12. 如何filter我们的资源文件

       < build >
    < resources >
    < resource >
    < directory > src/main/resources </ directory >
    < filtering > true </ filtering >
    </ resource >
    </ resources >
    </ build >

    因为原来默认的filter为false所以要加上上面的代码

    eg:我们在src/main/resources下面建立application.properties文件

    # application.properties
    application.name=${pom.name}
    application.version=${pom.version}

    运行:mvn process-resources 在target/classes下面的application.properties结果为:

     # application.properties
    application.name=Maven Quick Start Archetype
    application.version=1.0-SNAPSHOT

    这就是所谓的filter。当然filter还可以用其他的外部文件,不一定来自pom.xml[ ${pom.name} ]以及setting.xml[ ${settings.localRepository }]

    e.g src/main/filters/filter.properties:

    # filter.properties
    my.filter.value=hello!

    pom.xml:

     < build >
    < filters >
    < filter > src/main/filters/filter.properties </ filter >
    </ filters >
    < resources >
    < resource >
    < directory > src/main/resources </ directory >
    < filtering > true </ filtering >
    </ resource >
    </ resources >
    </ build >

    # application.properties

    application.name=${pom.name}
    application.version=${pom.version}
    message=${my.filter.value}

    这样在运行mvn process-resources 会得到类似的效果,当然我们也可以直接在pom.xml中定义:

    < build >
    < resources >
    < resource >
    < directory > src/main/resources </ directory >
    < filtering > true </ filtering >
    </ resource >
    </ resources >
    </ build >
    < properties >
    < my .filter.value > hello </ my.filter.value >
    </ properties >

    效果同样,这样就不需要外部文件了。另外filter还可以来自系统设置以及可以自定义:

    # application.properties
    java.version=${java.version}
    command.line.prop=${command.line.prop}
  13. jar包依赖

    我们在mvn install后在local repo中生成的jar包也可以被其他项目所引用

    <dependency>
    <groupId>com.mycompany.app</groupId>
    <artifactId>my-app</artifactId>
    <version>1.0-SNAPSHOT</version>
    <scope>compile</scope>
    </dependency>

    注意scope,这里是compile,如果使用junit,scope是test。

    举例说明:如果我们的project需要用到log4j包,那么我们可以 先google--"site:www.ibiblio.org maven2 log4j"。Index of /maven2/log4j/log4j 下面有maven-metadata.xml 描述了groupId,artifactId,version等等。获取了这些信息之后,你 就可以在pom.xml中添加依赖

    <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.12</version>
    <scope>compile</scope>
    </dependency>
  14. 如何发布我的jar包到我的remote repository

    你需要在setting.xml中间设置server:

    <servers>
    <server>
    <id>mycompany-repository</id>
    <username>jvanzyl</username>
    <!-- Default value is ~/.ssh/id_dsa -->
    <privateKey>/path/to/identity</privateKey>
    <passphrase>my_key_passphrase</passphrase>
    </server>
    </servers>

    然后在pom.xml中设置远程url:

    <distributionManagement>
    <repository>
    <id>mycompany-repository</id>
    <name>MyCompany Repository</name>
    <url>scp://repository.mycompany.com/repository/maven2</url>
    </repository>
    </distributionManagement>

4. Maven2 体验系列
Maven2 介绍 的参考资料,^_^。

Maven(四)常用命令大全 阅读详情

相关推荐

西门子精致面板TP1200 历史数据(历史数据、审计追踪) 移存到网络路径

TP1200 审计追踪

zhang080602的博客 5677

java4cpp-maven-plugin-1.0.1.zip

goose.zip,goose最初是一个用java编写的文章提取器,最近(2011年8月)已经转换为scala项目。它的任务是获取任何新闻文章或文章类型的网页,不仅提取文章的主体,而且还提取所有元数据和最可能的图像候选。scala中的html内容/文章提取器-开源自gravity labs-http://gravity.com

分析以太网帧结构_100G以太网接口调试初体验

是的,标题没有多敲一个“0”,明人不说暗话,就是在FPGA上实现100G以太网接口设计。正好参与了实验室某项目中的100G接口的调试,早想写个专栏文章了,由于调试过程中发现了一些硬件问题,导致迟迟没有往前推进,现在问题解决了之后可以简单分享一下100G以太网接口的调试初体验了~(好像DDR4读写测试系列文章还没搞完 )这篇初体验暂时不分多个章节了,基本设计流程与之前发布的“10G以太网接口”系列文...

weixin_39574050的博客 1578

Maven 详解及常用命令

# 1、刷新子模块版本号: mvn versions:update-child-modules # 2、重新打包到maven本地库: mvn clean install -Dmaven.test.skip=true mvn install

暴暴风的博客 1万+

maven安装与配置

一、需要准备的东西 1.JDK 2.Eclipse 3.Maven程序包 二、下载与安装 1.前往官网http://maven.apache.org/download.cgi下载最新版的Maven程序: 2.将文件解压到D:\Program Files\Apache\maven目录下: 3. 新建环境变量MAVEN_HOME,赋值D:\Program Files\...

SHUN19861212的博客 2344

Maven安装与配置

安装Maven 官网下载maven Binary是可执行版本,已经编译好可以直接使用。 Source是源代码版本,需要自己编译成可执行软件才可使用。 tar.gz和zip两种压缩格式,其实这两个压缩文件里面包含的内容是同样的,只是压缩格式不同 tar.gz格式的文件比zip文件小很多,用于unix操作系统。 zip格式用于Windows操作系统,但在Windows系统使用WinRar工具一样能够解压缩tar.gz格式 下载完成后,解压到某一路径下。本文以E:\Tools\Maven\apac

★★★★★ 24万+

超级详细的Maven使用教程

什么是Maven? 如今我们构建一个项目需要用到很多第三方的类库,如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项目编译失败。 以往开发项目时,程序员往往需要花较多的精力在引用Jar包搭建项目环境上,而这一项工作尤为艰难,少一个Jar包...

进修的CODER 24万+

06-JavaWeb开发【使用Maven开发web项目详解】

文章目录@[toc]typora-copy-images-to: img一、maven概述1.1、项目开发中的问题1.2、maven是什么1.2.1 maven定义1.2.2 mven的作用二、maven的下载安装与配置2.1、maven的下载与安装2.2、maven安装目录简介2.3、maven配置-MAVEN_HOME2.3.1 配置JAVA_HOME2.3.2配置MAVEN_HOME2.4、maven仓库介绍2.4.1、maven本地仓库配置2.4.1.1 本地仓库是什么2.4.1.2 配置本地仓库2

欢迎来到编程小栈 1350

MAVEN利器:一文带你了解IDEA中如何使用Maven

在上一篇文章中,我们学习了如何在自己的电脑环境中安装MAVEN软件,但实际上我们日常使用中并不是一直在命令行中使用MAVEN的,我们更多的是基于IDEA编译器来使用MAVEN,那么我们今天就来学习如何在自己的IDEA中配置MAVEN

fckbb的博客 8211

Maven的简介以及Maven安装配置

打开IDEA,点击菜单栏中的【File】选择【New Projects Settings】选择【Settings For New Projects】进入IDEA配置,找到【Build,Execution,Deployment】菜单栏中的【Build Tools】中找到Maven。那么我们可以将需要的依赖项的信息编写到Maven工程的配置文件,Maven软件就会自动下载并复制这些依赖项到项目中,也会自动下载依赖需要的依赖!通过 Maven,我们可以方便地维护项目所依赖的外部库,而我们仅仅需要编写配置即可。

2301_80309994的博客 2030

MAVEN的安装与配置以及配置MAVEN镜像为阿里云

MAVEN的安装与配置 如需配置MAVEN链接阿里云的镜像请直接查看 (三、配置MAVEN本地仓库 的第四步) 一、需要的东西 1.JDK(上一章已经详细讲解了https://blog.csdn.net/map_cx/article/details/89471218) 2.Eclipse 3.MAVEN的程序包 二、下载(因为MAVEN不需要安装) 1.下载: https://maven.ap...

胡椒码农的博客 5万+

什么是MavenMaven的概述及基本使用

Apache Maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档项目对象模型(Project Object Model)依赖管理模型(Dependency)插件(Plugin)提供了一套标准化的项目结构提供了一套标准化的构建流程(编译、测试、打包、发布…)提供了一套依赖管理机制依赖管理:依赖管理其实就是管理你项目所依赖的第三方资源(jar包、插件…)1.下载jar包2.复制jar包到项目。

宁可枝头抱香死,何曾吹落北风中。 4010

解决maven unresolved plugin 以及 如何控制maven plugin 的插件版本

最近在写一个项目的时候,有两个module,A是一个Spring boot,B是一个没有使用框架的module。 问题一: B库很长时间在执行Downloading plugins for,如果中途退出了idea,插件没有下载完,再次进入idea,会出现unresolved plugin的报错 分析: 这个问题可以通过两个方面来解决: 1、更改仓库地址,提高下载速度,一运行,很快...

薛瑄的博客 5万+

Maven

教你下载和配置Maven

xiaoyudecsdndec的博客 2103

Maven项目缺少Maven Dependencies总结

本文通过总结网上各种maven项目没有Maven Dependencies的情况,结合自己所遇到的奇葩问题,综合成一片文章,希望给大家带来帮助。

Frankenstein的博客 1万+

Maven安装、配置、Maven集成到IDEA中

1.先maven官网下载maven.2.解压到D:\盘根目录下注意:不能放到中文目录。

2301_80220193的博客 2137

Eclipse基于Maven配置SSM

Eclipse配置Maven环境 一.什么是maven? Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期 (Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段 (phase)中插件(plugin)目标...

guigu2012的专栏 4077

Maven安装与配置教程

Maven 是一个项目管理工具,可以对 Java 项目进行自动化的构建和依赖管理。Maven 包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻

IT学长 5万+

Maven 安装配置(完整教程)

Maven 是一个基于项目对象模型(POM)的项目管理和自动化构建工具。它主要服务于 Java 平台,允许开发者通过简单的配置来管理项目的构建、文档生成、报告、依赖、源代码管理、发布和分发等步骤。

野生派蒙的博客 8万+

VCS+Verdi联合仿真详细教程

VCS+Verdi联合仿真详细教程

上一篇: 资格证书
下一篇: maven 学习中的补充知识点
cppiod
博客等级 码龄20年 4粉丝 7原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值