maven项目管理工具

来源:互联网 发布:日事清类似软件 编辑:程序博客网 时间:2024/06/15 06:10

1 主要内容

   

Maven介绍

 

Maven安装配置

 

管理项目生命周期-常用命令

 

管理项目生命周期-项目生命周期(了解)

 

管理项目生命周期-eclipse创建maven工程

 

Maven依赖管理-POM

 

Maven依赖管理-坐标管理

 

Maven依赖管理-添加依赖

 

Maven依赖管理-传递依赖

 

Maven构建ssh工程--创建maven web工程

 

Maven构建ssh工程--工程构建

 

Maven私服-搭建私服环境

......................................................................................................................................................................


2    maven介绍

    

   Maven是Apache下的一个开源项目,它是一个项目管理工具,它用于对java项目进行项目构建、依赖管理及项目信息  管理。当前使用Maven的项目在持续增长。

   Maven包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

   注:依赖管理系统在pom.xml定义依赖如下:

   

<dependency>

<groupId>org.apache.struts</groupId>

<artifactId>struts2-core</artifactId>

<version>2.3.24</version>  

</dependency>


3  下载安装和配置

   

下载网址: http://maven.apache.org/download.cgi 

 注意:   解压不含有中文和空格的目录 


bin目录 mvn.bat(以run方式运行项目)、mvnDebug.bat(以debug方式运行项目 )

boot目录 maven运行需要类加载器

conf目录 settings.xml整个maven工具核心配置文件

lib目录 maven运行依赖jar包

  

4 环境变量配置

配置MAVEN_HOME


配置path


也可以复制bin的路径放在最后以分号隔开;

  

通过 mvn -v命令 在cmd 检查 配置是否成功 





5  通过 MAVE_HOME/conf/settings.xml配置本地仓库位置: 



6  创建java项目

   1   在new选择maven project构建项目;

   2   在选择骨架时选择 ,使用quickstart 骨架

   3  定义groupid id、artifact id、version:

     groupId:定义当前maven项目名称,为了和互联网上其它项目区别需要使用域名倒序

     artifactId:定义当前maven项目的模块名称

    version:定义当前项目的当前版本

     

在项目创建完毕,会出现叉号在项目上:在pom.xml上配置所需要的属性,强制更新项目:

    选中项目右键点击:选择maven(正确安装软件会出现)选择update project 在弹出的对话框,

  选择项目,和force ,更新项目

  

 7 创建web项目

   1   在new选择maven project构建项目;

   2   在选择骨架时选择 ,使用webAPP骨架

   3  定义groupid id、artifact id、version:

     groupId:定义当前maven项目名称,为了和互联网上其它项目区别需要使用域名倒序

     artifactId:定义当前maven项目的模块名称

    version:定义当前项目的当前版本

     


同样  会出现问题   

  1   在web.xml文件中将version=2.3改为3.0;(不能单纯的改数字,找到相应的3.0的模板整体修改)

  2   在window|show view|Navitor|setting|org.eclipse.wst.common.project.facet.core.xml修改version=2.3改为3.0

  3  在pom.xml中配置所要的属性


8    测试问题

   java文件的测试选中项目:右键  run  as|maven   test

    web文件测试

   方法一:部署项目在自己的Tomcat上:

   方法二:右键选中项目选择 run as|maven  bilud.. 在Goals(Tomcat7:run)

 9    提供几个jar文件的依赖:

   <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.zhidisoft</groupId>
<artifactId>spring_springmvc_mybatis</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>


<name>spring_springmvc_mybatis Maven Webapp</name>
<url>http://maven.apache.org</url>


<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>4.3.12.RELEASE</spring.version>
<slf4j.version>1.7.25</slf4j.version>
</properties>


<dependencies>
<!-- spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>


<!-- spring-tx -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>


<!-- spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>


<!-- spring-aspects -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>


<!-- spring-aspects -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>


<!-- spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>


<!-- jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.1</version>
</dependency>


<!-- commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>


<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.4</version>
</dependency>


<!-- mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>


<!-- c3p0 -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>


<!-- mysql-driver -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.41</version>
</dependency>


<!-- jcl-slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>


<!-- slf4j-log4j12 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>


<!-- aop Alliance -->
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
</dependency>


<!-- aspectj -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.8.11</version>
</dependency>


<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.11</version>
</dependency>


<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>1.8.11</version>
</dependency>


<!-- cglib-nodep -->
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>3.2.5</version>
</dependency>




<!-- servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>


<!-- jsp-api -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>


<!-- jstl-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>




<!-- jstl-impl -->
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-impl</artifactId>
<version>1.2.5</version>
<scope>compile</scope>
</dependency>




<!-- junit依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>


</dependencies>
<build>


<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>


<!-- tomcat7-maven-plugin -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>


</plugins>
</build>
</project>
























原创粉丝点击