eclipse配置Maven及创建web工程

来源:互联网 发布:初学者关于编程的书 编辑:程序博客网 时间:2024/06/06 14:17

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>