maven翻译为“专家”,“内行”。Maven是Apache下的一个纯java开发的开源项目,它是一个项目管理工具,使用maven对java项目进行构建、依赖管理。当前使用Maven的项目在持续增长。
maven的工作需要从仓库下载一些jar包,通过maven软件从远程仓库(可以理解为互联网上的仓库)下载jar包并存在本地仓库,本地仓库 就是本地文件夹,当第二次需要此jar包时则不再从远程仓库下载,因为本地仓库已经存在了,可以将本地仓库理解为缓存,有了本地仓库就不用每次从远程仓库下载了。
下载并且配置好maven的环境变量。
本地仓库需要在maven的安装目录下,conf->settings.xml中进行配置,默认的位置在${user.home}/.m2/repository下,可以自己设置本地仓库的位置,
如:
<localRepository>H:/software/maven/MavenRepository/maven_jar</localRepository>
1.eclipse配置Maven
一般情况下,eclipse都内置了maven插件,如果没有,就需要手动安装。
点击window->Preferences->Maven
如图所示:
如果有Maven目录,就说明内置了Maven插件。
点击Maven中的Installations,添加Maven本地的安装路径。
eclipse中配置使用的maven的setting.xml文件,使用maven安装目录下的setting.xml文件。
maven有全局setting和用户setting之分,安装目录下的setting是全局setting,对所有的项目都有效。用户setting需要另外建立一个setting.xml文件,并且在eclipse进行配置即可。
maven会先找用户配置,如果找到则以用户配置文件为准,否则使用全局配置文件。
点击Maven->User Settings选择setting文件。
如果settings文件被修改了,点击update settings”按钮对本地仓库重建索引。
项目工程规范
src/main/java —— 存放项目的.java文件
src/main/resources —— 存放项目资源文件,如spring, hibernate配置文件
src/test/java —— 存放所有单元测试.java文件,如JUnit测试类
src/test/resources —— 测试资源文件
target —— 项目输出位置,编译后的class文件会输出到此目录
pom.xml——maven项目核心配置文件
2.使用Maven创建web工程
点击File->New->Maven Project。
勾选跳过骨架的选项。,点击next。
点击finish。
如果项目报错,在pom.xml中加入;
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
设置编译版本为1.7.
如图:
在src/webapp中添加WEB-INF/web.xml文件,需要手动创建这些目录个文件。
web.xml内容为:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
src/main/java下创建java的包和类,比如servlet等。
在webapp目录下编写jsp,html文件。
在pom.xml添加工程所需要的依赖。
在src/main/resources下放置所有的配置文件,如struts.xml。
如下图:
本项目创建了一个struts2的项目,所有的依赖如下:
<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.mq</groupId>
<artifactId>firstMaven</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>web工程,包括jsp,servlet等</name>
<description>web工程,包括jsp,servlet等</description>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.24</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</project>