maven快速入门
来源:互联网 发布:海通大智慧软件下载 编辑:程序博客网 时间:2024/04/29 15:39
Creating a Project
it may take a while on the first run.On your command line, execute the following Maven goal:
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
生成如下目录结构
my-app|-- pom.xml`-- src |-- main | `-- java | `-- com | `-- mycompany | `-- app | `-- App.java `-- test `-- java `-- com `-- mycompany `-- app `-- AppTest.java
生成的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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>Maven Quick Start Archetype</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8.2</version> <scope>test</scope> </dependency> </dependencies></project>
Build 工程
mvn package
测试生成的jar包。
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
Which will print the quintessential:
Hello World!
Running Maven Tools
Maven Phases
Although hardly a comprehensive list, these are the most common default lifecycle phases executed.
- validate: validate the project is correct and all necessary information is available
- compile: 编译资源文件。比如java生成class文件
- test: test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed
- package:打包。比如生成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: 将打包生成的构造文件到local resposity
- deploy: 将打包生成的构造文件到remote resposity
There are two other Maven lifecycles of note beyond the default list above. They are
- clean: 删除编译生成的target文件。
- site: generates site documentation for this project
1.执行是一个紧连顺序的过程。比如执行install,它之前的阶段都会被执行。
2.mvn可以按顺序的执行所给命令,如下
mvn clean dependency:copy-dependencies package
命令将 clean the project, copy dependencies, and package the project
使用dependencies
一个依赖的配置片段如下
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies>1.对于每个external dependency,至少定义四个属性 groupId, artifactId, version, and scope.
2.maven根据依赖的配置来引用仓库中的jar包, 默认从local repository (~/.m2/repository is the default location) 加载。
3.在前面构建的jar包 (my-app-1.0-SNAPSHOT.jar) , 一旦install后, 另一个工程就可以引用,只需在它的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/xsd/maven-4.0.0.xsd"> <groupId>com.mycompany.app</groupId> <artifactId>my-other-app</artifactId> ... <dependencies> ... <dependency> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <version>1.0-SNAPSHOT</version> <scope>compile</scope> </dependency> </dependencies></project>
下面将从另一个例子来说明如何使用依赖。当在代码中使用log4j
1.首先要知道log4j的groupId, artifactId, and version ,从网站http://mirrors.ibiblio.org/查询,
相应路径下有个文件 maven-metadata.xml.log4j的maven-metadata.xml 如下:
<metadata> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.1.3</version> <versioning> <versions> <version>1.1.3</version> <version>1.2.4</version> <version>1.2.5</version> <version>1.2.6</version> <version>1.2.7</version> <version>1.2.8</version> <version>1.2.11</version> <version>1.2.9</version> <version>1.2.12</version> </versions> </versioning></metadata>
2.在pom.xml 中加入log4j的信息。
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.12</version> <scope>compile</scope> </dependency> </dependencies>现在编译时 (mvn compile), maven将下载log4j的jar包。
- maven快速入门
- maven快速入门
- maven快速入门
- 1.Maven快速入门
- Maven快速入门
- Maven快速入门
- Maven 快速入门
- Maven快速入门(一)
- Maven快速入门(二)
- maven快速入门
- maven快速入门
- Maven快速入门
- Maven快速入门
- SpringMVC+Maven快速入门
- Maven快速入门
- Maven快速入门
- Maven初学笔记快速入门
- SpringBoot+IDEA+Maven快速入门
- ubuntu server 12.04 LTS的安装要点
- bloginfo() 与get_bloginfo()区别
- 【SAX解析 】Handler中相应参数的解释
- 1258 prim
- 《足球与互联网产品》2:从欧洲杯感悟联网产品团队
- maven快速入门
- POJ1702Eva's Balance
- 多线程的条件变量
- 敏捷开发“松结对编程”实践之五:代码检查篇(大型研发团队,学习型团队,139团队,师徒制度,代码审查)
- 湖南师大acm10015
- android 动画笔记
- ZOJ 1002
- Android 框架简介
- 湖南师大acm problem 10384 计算点到线段之间的距离