1. 程式人生 > >Tomcat Jetty容器中部署專案的注意事項與區別

Tomcat Jetty容器中部署專案的注意事項與區別

        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>${jsp.version}</version>
            <!--scope>provided</scope-->
            <exclusions>
                <exclusion
>
<artifactId>servlet-api</artifactId> <groupId>javax.servlet</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>javax.servlet</groupId
>
<artifactId>javax.servlet-api</artifactId> <version>${servlet.version}</version> <!--scope>provided</scope--> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId
>
jstl</artifactId> <version>${jstl.version}</version> <!--scope>provided</scope--> </dependency>

在jetty容器中執行需要開啟provided,因為jetty容器中已經自帶了servlet,jstl和jsp的實現。但當專案需要部署到Tomcat中時,由於Tomcat容器未帶有servlet,jstl和jsp的實現所以需要關閉provided,將相應的包代入。

在Jetty環境中若Jetty不設定專案的基本Context則相應的${ctx},即Context Path無法找到相應的專案路徑,所以配置Jetty專案時需要配置好相應的Context。

<plugin>
    <groupId>org.eclipse.jetty</groupId>
                    <artifactId>jetty-maven-plugin</artifactId>
                    <version>9.1.6.v20160112</version>
                    <configuration>
                        <stopPort>9966</stopPort>
                        <stopKey>stop-jetty-for-it</stopKey>
                        <webAppConfig>
                            <contextPath>/${project.build.finalName}</contextPath>
                        </webAppConfig>
                    </configuration>
                    <!--dependencies>
                        <dependency>
                            <groupId>mysql</groupId>
                            <artifactId>mysql-connector-java</artifactId>
                            <version>5.1.38</version>
                        </dependency>
                    </dependencies-->

                </plugin>

更高版本的mysql-connector-java在配置到jetty時需要被jetty所依賴,但Tomcat不需要類似的操作。