美文网首页
使用Eclipse集成Maven并创建Web项目

使用Eclipse集成Maven并创建Web项目

作者: wch853 | 来源:发表于2017-06-05 15:04 被阅读74次

Maven环境配置

解压或或安装Maven后新建系统变量M2_HOME,值为maven所在目录
添加%M2_HOME%\bin到系统变量Path中

Maven指令

指令名称 说明
mvn -version 查看maven版本
mvn compile 编译
mvn test 测试(编译测试文件)
mvn clean 清除编译的文件
mvn package 打包
mvn install 安装到本地仓库

迁出maven仓库

更改conf目录中的settings.xml文件

<localRepository>D:\Java\maven\repository</localRepository>

增加阿里云镜像

在settings.xml的mirrors标签中添加

<mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
</mirror>

设置maven默认使用jdk1.8

使用Maven3.3.9创建默认Maven项目使用的jdk版本为1.5
在settings.xml文件的profiles中增加

<profile>     
    <id>jdk-1.8</id>     
    <activation>     
    <activeByDefault>true</activeByDefault>     
    <jdk>1.8</jdk>     
    </activation>     
    <properties>     
        <maven.compiler.source>1.8</maven.compiler.source>     
        <maven.compiler.target>1.8</maven.compiler.target> 
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>     
    </properties>     
</profile>

Eclipse读取Maven配置文件

打开Eclipse,preference->Maven->User Settings,选择更改过的settings.xml文件,读取
Maven Repository地址

新建Maven project

选择archetype-webapp

pom.xml文件

配置 说明
modelVersion pom模型版本
groupId 组织名称
artifactId 某个具体项目的具体模块
vesion 项目版本
dependencies 依赖

在pom.xml文件中新增依赖

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

打开Navigator视图

打开对应项目settings目录下的org.eclipse.wst.common.project.facet.core.xml
修改java版本为1.8,jst.web为3.1

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
    <fixed facet="wst.jsdt.web"/>
    <installed facet="java" version="1.8"/>
    <installed facet="jst.web" version="3.1"/>
    <installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

补全maven结构

将main下文件的classes输出到target的classes下
将test下文件的classes输出到target的test-classes下

替换web.xml文件

此时项目上包含小红×,因为web.xml版本过低,替换掉
新建一个Dynamic web project,将META-INF文件和web.xml复制过来

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
        http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    id="WebApp_ID" version="3.1">
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

部署路径

打开Deployment Assembly,删除test的路径,完成。

部署路径

相关问题

无法自动编译

工具栏->project Build Automatically

classpath

在maven中classpath下指的是main/java和main/resources

简单SSM项目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>Cart</groupId>
    <artifactId>Cart</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>Cart Maven Webapp</name>
    <url>http://maven.apache.org</url>

    <properties>
        <!-- spring版本号 -->
        <spring.version>4.3.7.RELEASE</spring.version>
    </properties>

    <dependencies>
        <!-- servlet -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.1</version>
        </dependency>
        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

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

        <!-- slf4j -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.12</version>
        </dependency>

        <!-- logback -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.1.2</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.1.2</version>
        </dependency>

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

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

        <!-- druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.5</version>
        </dependency>

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

        <!-- spring依赖 -->
        <!-- spring核心依赖 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!-- spring dao层依赖 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!-- springweb相关依赖 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!-- spring test相关依赖 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
        </dependency>

    </dependencies>
    <build>
        <finalName>dmall</finalName>
    </build>
</project>

相关文章

网友评论

      本文标题:使用Eclipse集成Maven并创建Web项目

      本文链接:https://www.haomeiwen.com/subject/eodftxtx.html