Maven快速上手
博文目录
- Maven使用前提
- Maven工程的结构
- Maven的配置文件pom.xml
- Maven的单元测试
- 如何修改本地仓库
- 查找依赖的顺序
- 快速创建Maven工程
- 使用M2Eclipse及Jetty插件
- 其他配置
Maven快速上手
Maven是Apache提供的项目自动化构建和项目管理软件,基于项目对象模型(POM),Maven利用一个中央信息片断管理一个项目的构建、报告和文档等步骤。
官方网站:http://maven.apache.org/
使用前提:
1,下载Maven
http://maven.apache.org/download.cgi
2,配置环境变量
M2_HOME=maven根路径:C:\server\apache-maven-3.1.0
PATH=maven的bin路径:C:\server\apache-maven-3.1.0\bin
3,执行maven命令
>mvn -v 显示maven的版本信息
maven工程的结构:
在C盘建立my-app文件夹,里面的结构如下:
my-app
|--pom.xml
|--src
|--main
| |--java
| |--com
| |--mycompany
| |--app
| |--App.java
|--test
|--java
|--com
|--mycompany
|--app
|--AppTest.java
pom.xml是maven的项目的配置文件
<?xml version="1.0" encoding="UTF-8"?> <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> </project>
groupId:公司所做项目名称
artifactId:模块的名称
version:版本号
groupId+artifactId+version=坐标
坐标唯一标识了我们的项目的路径:
com/mycompany/app/my-app/**
App.java内容如下:
package com.mycompany.app; public class App{ public static void main(String[] args){ System.out.println("hello"); } }
编译代码:
>cd myapp
>mvn compile
编译后产生target目录,里面存放的就是编译后的字节码文件
执行编译后的代码:
>cd target/classes
>java App
执行单元测试
AppTest.java
package com.mycompany.app; import junit.framework.TestCase; public class AppTest extends TestCase{ public void testApp(){ assertTrue( true ); } }
查询junit的jar包的坐标
http://mvnrepository.com
在pom.xml中添加junit依赖
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.2</version> </dependency> </dependencies>
>mvn test
清除target
>mvn clean
打包
>mvn package
发布到本地仓库
>mvn install
修改本地仓库位置
默认位置在操作系统的~/.m2文件夹中,修改方法如下:
1,取消maven目录/conf/settings.xml配置文件中的注释的该行代码:
<localRepository>/path/to/lacal/repo</localRepository>
2,将其中的路径修改为自己希望的路径:
<localRepositroy>d:/maven/repo</localRepository>
3,并将settings.xml文件拷贝一份到D:/maven目录中
maven查找依赖的顺序
1从本地仓库中查找:maven/repo
2从私有仓库(如果配置的话)中查找所需依赖
3从中央仓库(http://repo.maven.apache.org)中查找
使用Archetype快速创建项目
>mvn archetype:generate
根据命令行提示选择要创建的maven项目类型及坐标
我选择的是320,快速创建基本的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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>myapp</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>myapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
App.java
package com.mycompany.app; /** * Hello world! * */ public class App{ public static void main( String[] args ){ System.out.println( "Hello World!" ); } }
AppTest.java
package com.mycompany.app; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; /** * Unit test for simple App. */ public class AppTest extends TestCase{ /** * Create the test case * * @param testName name of the test case */ public AppTest( String testName ){ super( testName ); } /** * @return the suite of tests being tested */ public static Test suite(){ return new TestSuite( AppTest.class ); } /** * Rigourous Test :-) */ public void testApp(){ assertTrue( true ); } }
使用M2Eclipse插件创建项目
MyEclipse较新的版本都支持了maven插件,如果没有,到这里下载插件
http://eclipse.org/m2e/
如果成功安装了插件,就可以直接使用MyEclipse创建Maven项目了,它会自动帮你组织好工程目录的。
在web项目中使用jetty服务
在pom.xml中添加jetty插件
<build> <finalName>struts</finalName> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <configuration> <scanIntervalSeconds>10</scanIntervalSeconds> <webApp> <contextPath>/</contextPath> </webApp> <connectors> <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> <!--修改默认端口号--> <port>9090</port> <maxIdleTime>60000</maxIdleTime> </connector> </connectors> </configuration> </plugin> </plugins> </build>
为了修改版本号的方便可以使用以下配置
<properties> <junit.version>4.11</junit.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency>
如果想使用私有工厂,可以在pom.xml中添加私有工厂的配置
<repositories> <repository> <id>local</id> <name>nexus_server</name> <url>http://192.168.1.11:8081/nexus/content/groups/public/</url> </repository> </repositories>
或者修改全局私有工厂:.m2/settings.xml
<mirror> <id>mirrorId</id> <mirrorOf>*</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://xxxxx</url> </mirror>
相关推荐
Maven现在是项目管理和依赖管理的必备工具,相信通过本课程的学习,大家可以掌握Maven在实际工程中的实际用法,从而提高自己的开发效率。 本课程整体讲解了以下几点内容: 1.Maven基础核心概念 2.Maven的配置 3.Maven...
Maven快速上手;Memcached快速上手;MogileFS快速上手;MongoDB快速上手;Nginx快速上手;Varnish快速上手; 二、基本业务功能介绍:客户管理、商品管理、购物车、订单管理、库存管理 三、数据库建表语句脚本; 四、最终的...
结构清晰明了, eclipse 导入maven 工程,, 更新包下载包 就可以了,
代码简单明了,用最简单的登陆注册,展示spring-mvc+mybatis+maven几个技术的用法。
maven实战,对刚使用maven的人是不可多得参考资料,可以快速上手maven
maven学习笔记,传智博客的两天maven培训课件,简单易懂,有项目代做,快速上手maven,欢迎大家下载。
《快速上手Maven:2-3年技术人员的实战指南》是一门专为具有2-3年工作经验的技术专业人士设计的实用课程。本课程旨在帮助学员深入理解并掌握Maven这一强大的项目管理和构建工具,从而提高软件开发的效率和质量。 ...
IntelliJ Idea下Maven插件使用技巧 标签:Idea Maven IntelliJ Idea下Maven插件使用技巧,对于开发人员快速上手,并可能有效提高开发效率,特将此整理分享给大家。
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。使用maven来开发第一个springmvc的项目让你快速了解maven并上手项目,maven+springMVC
腾讯云对象存储静态工具类,满足日常工作使用,每个方法都有注释,快速上手!记得先引入Maven依赖,在配置文件中配置对象存储所属参数!
maven 管理,数据库文件,代码齐全,快速上手。
全面介绍Maven,很实用。简单快速上手,现在Maven已经全面替代Ant了,不学就落伍了
1、Maven 我为什么要学习这个技术? 在Javaweb开发中,需要使用大量的jar包,我们手动去导入; 如何能够让一个东西自动帮我导入和配置这个jar包。 由此,Maven诞生了! 1.1 Maven项目架构管理工具 我们目前用来就是...
主要介绍了快速了解Maven,具有一定借鉴价值,需要的朋友可以参考下。
简单的maven安装步骤,简单易上手,快速整合到eclipse
Tomcat 中配置一个Web应用 1 conf/server.xml 在<host></host>标记中间增加: “/runwit” docBase=“rwjsp”/> 其中/runwit为自定义的web应用名称,rwjsp为目录:webapps/rwjsp 2 创建目录,编写测试文件test.jsp ...
《计算机毕业设计:基于SpringBoot+Maven+OpenCV实现的...源码结构清晰,注释详尽,有助于学习者快速上手并理解项目的实现原理。文档则对项目的背景、目标、实现过程以及技术难点进行了全面的阐述,为学习者提供了参考.
简单的hello World 案例 快速入门ES 使用maven工具配置 上手快