`
ytfei
  • 浏览: 89628 次
社区版块
存档分类
最新评论

mvn

    博客分类:
  • Java
阅读更多

Project Descriptor Reference.:  http://maven.apache.org/maven-model/maven.html  
Introduction to Dependency Mechanism.: http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
Introduction to Repositories.: http://maven.apache.org/guides/introduction/introduction-to-repositories.html

1.用mvn新建一个项目
mvn archetype:create -DgroupId=net.tftech.app -DartifactId=my-app
2.将项目安装到mvn本地库
mvn clean install
3.mvn主要 lifecycle phases
hese are the most common default lifecycle phases executed.


validate: validate the project is correct and all necessary information is available
compile: compile the source code of the project
test: test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed
package: take the compiled code and package it in its distributable format, such as a JAR.
integration-test: process and deploy the package if necessary into an environment where integration tests can be run
verify: run any checks to verify the package is valid and meets quality criteria
install: install the package into the local repository, for use as a dependency in other projects locally
deploy: done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.

clean: cleans up artifacts created by prior builds
site: generates site documentation for this project

Phases are actually mapped to underlying goals. The specific goals executed per phase is dependant upon the packaging type of the project. For example, package executes jar:jar if the project type is a JAR, and war:war is the project type is - you guessed it - a WAR.

example:
mvn clean dependency:copy-dependencies package
mvn test-compile 编译测试代码
mvn eclipse:eclipse(mvn idea:idea)

Note that the surefire plugin (which executes the test) looks for tests contained in files with a particular naming convention.
By default the tests included are:
**/*Test.java
**/Test*.java
**/*TestCase.java
And the default excludes are:
**/Abstract*Test.java
**/Abstract*TestCase.java

scope:
compile, test, and runtime

可以设置项目的module由多个项目组成,然后具体项目中使用dependency指定依赖的项目。(mvn eclipse plugin 可以更容易的使用eclipse内的项目作为依赖)

生成WEB项目
mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=co
m.mycompany.app -DartifactId=my-webapp

 

-DarchetypeArtifactId 表明要使用的原形(模板),使用原形后,会按照该原形的默认配置生成一些文件。maven archetype plugin 是根据 repository 的 archetype-catalog.xml 文件,来知道仓库中有哪些原形可以使用。

参考:http://maven.apache.org/archetype/maven-archetype-plugin/specification/archetype-catalog.html

 

下载依赖项目的源码:

mvn dependency:sources  或者在eclipse中maven设置:Download Artifact Sources

 

-------------本机搭建maven 仓库过程 

 

1.下载 nexus bundle 包,进入bin目录运行 nexus.bat ,启动nexus服务器。

2.访问 http://127.0.0.1:8081/nexus/ 点击 repositories. -> add -> hosted reposity

   建立一个本地仓库。 配置本地仓库目录(可以从local reposity---默认在 用户主目录/.m2 中,中拷贝所有的项目到一个新目录,例如d:\maven-repos . 然后设置本地仓库目录为该目录。 

3.记录刚配置的仓库地址 例如 http://localhost:8081/nexus/content/repositories/xxx/ ,在浏览器访问之,看是否正常。

(也尝试过配置group repository不成功,不知道为什么)

 

--------------项目中配置使用 本地仓库

在pom.xml 中配置 

 

<repositories>
	<repository>
		<id>nexus</id>
		<name>Team Nexus Repository</name>			
                <url>http://localhost:8081/nexus/content/repositories/xxx</url>
	</repository>
</repositories>

<pluginRepositories>
		<pluginRepository>
			<id>nexus</id>
			<name>Team Nexus Repository</name>
			<url>http://localhost:8081/nexus/content/repositories/xxx</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</pluginRepository>
</pluginRepositories>
 

 

---------------配置 mvn deploy 发布到的服务器

可以将项目发布到本地仓库,以便让别人使用,需要在pom.xml中配置:

 

 

<distributionManagement>
		<repository>
			<id>nexus-releases</id>
			<name>Team Nexus Release Repository</name>
			<url>http://localhost:8081/nexus/content/repositories/releases</url>
		</repository>
		<snapshotRepository>
			<id>nexus-snapshots</id>
			<name>Team Nexus Snapshot Repository</name>
			<url>http://localhost:8081/nexus/content/repositories/snapshots</url>
			<uniqueVersion>false</uniqueVersion>
		</snapshotRepository>
	</distributionManagement>

 

---------------------------

付:以上2个配置,如果不想每个项目都重复这些配置,可以将他们写在setting.xml的profile里面,也可以将他们写在一个parent项目的 pom.xml里的方式,然后各个子项目的pom.xml 引用该parent即可。(推荐parent方式):

 

pom.xml:

 

<parent>
		<groupId>net.tftech</groupId>
		<artifactId>tftech-app1-parent</artifactId><!-- 这个artifact之前已部署到maven上-->
		<version>1.0</version>
</parent>

  --------------------------------

 

 

在maven目录下的conf/setting.xml 配置用户名和密码

 

 

 

<server>  
    <id>nexus-releases</id>  
    <username>x</username>  
    <password>x</password>  
  </server> 
  <server>  
    <id>nexus-snapshots</id>  
    <username>x</username>  
    <password>x</password>  
  </server>     

 

参考:http://blog.csdn.net/arvinzhuo/archive/2009/06/05/4244061.aspx 

http://hi.baidu.com/g4_gc/blog/item/4da82635c0bec0365bb5f5d3.html

分享到:
评论

相关推荐

    mvn 常用命令手册mvn开发必备

    ### MVN常用命令详解 Maven 是一个项目管理和理解工具,它包含了一个项目对象模型 (POM),一组标准集合,一个项目生命周期,一个依赖管理机制,用于运行构建任务的插件集合,以及用来扩展现有功能的插件机制。在...

    Mvn常用命令总结

    使用`mvn jetty:run`可以快速启动一个内嵌的Jetty服务器,并加载项目的web应用。这对于Web项目的开发提供了极大的便利。 #### 5. 编译源代码:`mvn compile` 该命令仅负责编译项目中的Java源代码,不会执行任何...

    Cmd执行mvn clean package 命令使用文档

    ### Cmd执行mvn clean package命令使用详解 #### 一、Maven简介 Maven是一款Java项目的构建工具,它提供了一套完整的项目信息管理和构建方法,能够帮助开发者更方便地进行项目构建、依赖管理以及生命周期管理等工作...

    mvn配置命令文档

    - **命令**:打开命令行窗口,输入`mvn -version`。 - **解释**:此命令用于检查是否成功安装Maven及其版本信息。 ##### 3. 配置`settings.xml` - **文件位置**:默认情况下,`settings.xml`位于Maven安装目录的`...

    mvn release 配置说明

    `mvn release`是Maven项目管理工具中的一个插件,用于执行软件版本的发布流程。这个流程通常包括准备发布的新版本,创建源码和二进制的归档,然后在版本控制系统中提交这些更改。在本文中,我们将深入探讨`mvn ...

    java+mvn爬虫

    3. Maven命令:常用命令包括`mvn clean`清理目标目录,`mvn compile`编译源代码,`mvn package`打包项目,`mvn install`将项目安装到本地仓库,方便其他项目引用。 三、爬虫实现步骤 1. 发起HTTP请求:使用...

    通过mvn命令下载pom.xml中的jar包

    本文将详细介绍如何使用`mvn`命令下载`pom.xml`文件中声明的jar包,并解释涉及的相关概念。 首先,`pom.xml`是Maven项目对象模型(Project Object Model)的配置文件,它定义了项目的构建过程、依赖关系、项目信息...

    匹处理mvn命令用法

    本文将深入探讨“匹处理mvn命令用法”,结合提供的标签“源码”和“工具”,我们将主要关注如何使用Maven的命令行工具(CMD)来管理Java项目。 **Maven简介** Maven是由Apache软件基金会开发的一个项目管理和综合...

    mvn常用命令行

    Maven 的强大之处在于其插件机制,`mvn jetty:run` 可以直接将项目部署到 Jetty 服务器运行,`mvn deploy:deploy-file` 用于上传自定义的 JAR 文件到远程仓库。 总之,理解并熟练使用这些 Maven 命令行,将有助于你...

    mvn.bat文件

    mvn.bat

    canal文件,下载后直接mvn_install即可使用.zip

    【标题】:“canal文件,下载后直接mvn_install即可使用.zip” 【描述】:这段描述反复提到了“canal文件”以及“下载后直接mvn_install即可使用”,这意味着我们讨论的是一个关于Canal项目的软件包,这个包是用ZIP...

    mvn常用命令

    MVN常用命令 MVN(Maven)是一款基于项目对象模型(POM)的项目管理工具,它可以帮助开发者管理项目的依赖关系、编译、测试、打包和部署。下面是MVN的常用命令: 创建Maven项目 1. 创建Maven的普通Java项目:`mvn...

    使用dos命令实现mvn的自动编译以及test case的运行

    标题 "使用dos命令实现mvn的自动编译以及test case的运行" 描述了如何在DOS命令行环境中利用Maven(mvn)工具进行自动化编译和测试用例的执行。这一主题对于任何Java开发者来说都至关重要,因为它涉及到项目构建自动...

    mvn install:install-file -Dfile

    mvn install单独jar到仓库使用方法举例

    mvn-examples-1.0&Maven;权威指南中文版

    1. mvn-examples-1.0 &lt;module&gt;ch03-simple &lt;module&gt;ch04-custom &lt;module&gt;ch05-simple-web &lt;module&gt;ch06-multi &lt;module&gt;ch07-multi-spring &lt;module&gt;ch08-optimize &lt;module&gt;ch09-pom &lt;module&gt;ch10-lifecycle ...

    test-mvn clean install -Dmaven.test.skip=true dependency:sources

    标题 "test-mvn clean install -Dmaven.test.skip=true dependency:sources" 指的是一个常见的Maven命令,用于构建Java项目。这个命令包含了多个Maven生命周期阶段和插件目标,下面将详细解释这些部分。 1. `mvn ...

    mvn-download

    在Java开发过程中,Maven(MVN)是一个广泛使用的依赖管理工具,它使得开发者能够方便地管理和构建项目。"mvn-download"这个话题是关于如何通过Maven的命令行工具来下载特定的JAR(Java Archive)包。下面将详细解释...

    Storm编程实践(安装Maven-使用Maven编译运行代码-mvn 打包)

    Storm 编程实践(安装 Maven-使用 Maven 编译运行代码-mvn 打包) 本文档介绍了 Storm 编程实践的实践报告,涵盖了安装 Maven、使用 Maven 编译运行代码和 mvn 打包等内容。报告中还包括了实验环境的配置、实验内容...

    在cmd中mvn更新和打包

    在cmd中mvn更新和打包

Global site tag (gtag.js) - Google Analytics