Spring: Export -> WAR file -> 404 Not Found 問題

每次部署 WAR 項目都是比較繁瑣的一件事, 想必最不想出現的狀況就是這樣: java

如何才能使得項目部署起來安全, 又輕鬆? mysql

1. 將 Spring 等框架的 Jar 文件放到 ${ tomcat }/lib 下的單獨文件夾中

develon@local:~/tomcat8$ ls lib/spring
commons-fileupload-1.3.2.jar      spring-context-support-4.3.9.RELEASE.jar    spring-orm-4.3.9.RELEASE.jar
commons-io-2.5.jar                spring-core-4.3.9.RELEASE.jar               spring-oxm-4.3.9.RELEASE.jar
commons-logging-1.2.jar           spring-expression-4.3.9.RELEASE.jar         spring-test-4.3.9.RELEASE.jar
mysql-connector-java-8.0.16.jar   spring-instrument-4.3.9.RELEASE.jar         spring-tx-4.3.9.RELEASE.jar
spring-aop-4.3.9.RELEASE.jar      spring-instrument-tomcat-4.3.9.RELEASE.jar  spring-web-4.3.9.RELEASE.jar
spring-aspects-4.3.9.RELEASE.jar  spring-jdbc-4.3.9.RELEASE.jar               spring-webmvc-4.3.9.RELEASE.jar
spring-beans-4.3.9.RELEASE.jar    spring-jms-4.3.9.RELEASE.jar                spring-webmvc-portlet-4.3.9.RELEASE.jar
spring-context-4.3.9.RELEASE.jar  spring-messaging-4.3.9.RELEASE.jar          spring-websocket-4.3.9.RELEASE.jar

此時, 你須要編輯 ${ tomcat }/conf/catalina.properties, 將 "${catalina.base}/lib/spring/*.jar" 插入變量 common.loader 中
注意, 這裏是不能是 "${catalina.base}/lib/*/*.jar" 這樣的通配目錄, 意味着沒有一勞永逸的設置方法 web

common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.base}/lib/spring/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar"

2. 檢查版本: 包括框架的版本, JDK 的版本, 導出的 WAR 類文件的版本, 避免兼容性問題

不少時候咱們的服務器是正常的, JDK 版本雖然低, 但也可能受 Spring 的支持, 只不過咱們開發機上的 JDK 版本太高, 而 WAR 輸出的類文件版本默認又是最高版本, 這就致使放到服務器上的類文件根本不能被執行, 因此務必保證輸出類文件的版本: spring

相關文章
相關標籤/搜索