使用maven插件运行web项目

标准的web类型的maven项目结构:

src
|--main
	|--java
	|--resources
	|--webapp
		|--WEB-INF
			|--web.xml
		index.jsp
pom.xml

使用maven插件运行web项目_第1张图片

常用maven插件

常见的web服务器有:jetty、tomcat等等

方式一:使用jetty-maven-plugin插件

运行 mvn jetty:run 启动项目


<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.0modelVersion>
    <groupId>com.markixgroupId>
    <artifactId>maven-webartifactId>
    <version>1.0-SNAPSHOTversion>
    <packaging>warpackaging>

    <build>
        <plugins>
            <plugin>
                
                <groupId>org.eclipse.jettygroupId>
                <artifactId>jetty-maven-pluginartifactId>
                <version>9.4.31.v20200723version>
                <configuration>
                    <httpConnector>
                        <port>8080port>
                    httpConnector>
                    <webApp>
                        <contextPath>/jettycontextPath>
                    webApp>
                    <webAppSourceDirectory>${basedir}/src/main/webappwebAppSourceDirectory>
                configuration>
            plugin>
        plugins>
    build>

project>

方式二:使用tomcat7-maven-plugin插件

运行 mvn tomcat7:run 启动项目


<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.0modelVersion>
    <groupId>com.markixgroupId>
    <artifactId>maven-webartifactId>
    <version>1.0-SNAPSHOTversion>
    <packaging>warpackaging>

    <build>
        <plugins>
            <plugin>
                
                <groupId>org.apache.tomcat.mavengroupId>
                <artifactId>tomcat7-maven-pluginartifactId>
                <version>2.2version>
                <configuration>
                    <port>8080port>
                    <uriEncoding>UTF-8uriEncoding>
                    <warSourceDirectory>${basedir}/src/main/webappwarSourceDirectory>
                    <path>/tomcatpath>
                configuration>
            plugin>

        plugins>
    build>

project>

常见问题

1. 没有 src/main/webapp,只有 WebContent 怎么办?

由于以前的项目一般是通过Eclipse或者MyEclipse创建的,其项目结构和标准的maven项目结构有所不同,一般其web目录为 WebContent 而不是 src/main/webapp
只需要修改配置指向具体的web目录即可。比如:${basedir}/WebContent

2. 如何配置tomcat数据源?

只需要在插件配置加上配置指定 context.xml 即可。比如:WebContent/context.xml
context.xml 内容样例:


<Context path="/">
    <Resource name="jndi_name" auth="Container" type="javax.sql.DataSource"  maxActive="20" maxIdle="10"
              driverClassName="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/testdb" username="root" password="root"/>
Context>

reference:
标准的Maven目录结构
Difference webcontent and webapp

你可能感兴趣的:(Maven,maven,web,tomcat-maven,jetty-maven)