Tomcat Jetty容器中部署專案的注意事項與區別
阿新 • • 發佈:2019-01-24
<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不需要類似的操作。