第一个maven项目

1、新建maven project 注意:勾上create a new simple project

2、填写相关信息, Grounp id为大项目名字,Artifact id为小项目的名字。注意:Packaging选war

3、点击项目---->鼠标右键---->properties---->project facets---->将java选项的1.5改成你需要的jdk版本(我的是1.7)---->去掉Dynamic Web Module选项----->apply----->OK---->再到properties---->project facets---->选上Dynamic Web Module选项----->apply----->OK

4、在webContent下新建index.jsp,建完之后会报错的,是因为servlet包没有加进去

5、更新pom.xml的内容,在pom.xml的project中加入基本的配置

dependencies>
        <!-- JUnit配置 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <!-- servlet配置 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>3.0-alpha-1</version>
        </dependency>
        <!-- Spring配置 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.1.2.RELEASE</version>
        </dependency>
        <!-- 添加slf4j的支持 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.7</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.7</version>
        </dependency>
        <!-- 添加log4j的支持 -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
    </dependencies>

6、修改inde.jsp的内容。在body区域加入

    <h2>helloworld</h2>

7、在项目上右击---->run as ---->run on server(tomcat服务器选择自己所用的版本即可)

 第二种方法,看图

GroupID是项目组织唯一的标识符,实际对应Java的包的结构,是main目录里java的目录结构。

ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。

当然这种方式建的工程不能直接用tomcat运行。。

maven运行javaWeb项目

首先从svn下载下来的maven项目,需要点击项目,然后import--->Existing Maven Projects->全选之后点next就转换成功了,然后 run as--> run configuration

配置完之后,还要配置一个东西

 Window--> Preference --> Java --> Installed JREs  找到你所用的jre ,然后编辑

 -Dmaven.multiModuleProjectDirectory=$M2_HOME ( Mac OS X下的配置)

注意:以上配置默认是已经配置成了tomcat热部署

maven 热部署配置

首先配置tomcat-user.xml,这个文件是在tomcat的conf文件夹下面

</tomcat-users>前添加这段

<role rolename="admin"/>   
<role rolename="admin-gui"/>   
<role rolename="manager"/>   
<role rolename="manager-script"/>   
<role rolename="manager-gui"/>   
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="admin,manager,manager-gui,admin-gui,manager-script,manager-jmx,manager-status"/>


然后在maven的配置文件setting.xml中 前添加,注意ID号,后面会用到

<server>
       <id>admin</id>
       <username>admin</username>
       <password>admin</password>
    </server>

然后配置tomcat运行,接下来再是配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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>ee</groupId>
  <artifactId>mm</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging> <!-- 用war打包-->
  <build>
  <plugins>
      <!-- 第一种方式: apache官方tomcat插件,支持deploy -->
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
        <configuration>
          <url>http://localhost:8080/manager/text</url>
          <server>admin</server> <!-- 注意这个admin和之前maven的serverID可以不一致 -->
        </configuration>
      </plugin>
       
    </plugins>
</build>
</project>

项目结构如下:

 

注意,maven要改成web项目才行。。。。

注意是名字是webapp,建工程的时候注意用war而不是用jar,如果是war的话也不用改project facets。

注意:maven打包成war时,报错:Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war) on project web_nanchang: Error assembling WAR: webxml attribute is required 
原因:找不到web.xml,但是项目中明明有这个文件,在WebContent/WEB-INF/文件夹下,就是识别不了
解决方法:
需要在pom.xml文件中,加上maven-war-plugin插件配置
在<build>节点中增加:

<plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <webResources>
                    <resource>
                        <directory>WebContent</directory>
                    </resource>
                </webResources>
            </configuration>
        </plugin>
    </plugins>

之前的代码已经添加进去了。

如果项目中原本没有web.xml文件,就需要加上下面的配置:

<plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin>
    </plugins>

如果出现404错误,注意先把maven项目改成web项目。点击项目---->鼠标右键---->properties---->project facets---->将java选项的1.5改成你需要的jdk版本(我的是1.7)---->去掉Dynamic Web Module选项----->apply----->OK---->再到properties---->project facets---->选上Dynamic Web Module选项----->apply----->OK

然后点击项目名

原文地址:https://www.cnblogs.com/JAYIT/p/4099945.html