刚接触maven项目,按照老师的步骤,使用jetty plugin进行部署,运行jetty:run命令的时候,控制台出现如下异常信息:
2019-02-27 18:27:13.716::WARN: Failed startup of context org.mortbay.jetty.webapp.WebAppContext@480457{/bb,/webapp}
java.io.FileNotFoundException: /webapp
at org.mortbay.jetty.webapp.WebAppContext.resolveWebApp(WebAppContext.java:943)
at org.mortbay.jetty.webapp.WebAppContext.getWebInf(WebAppContext.java:780)
at org.mortbay.jetty.webapp.WebInfConfiguration.configureClassLoader(WebInfConfiguration.java:62)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:444)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
at org.mortbay.jetty.Server.doStart(Server.java:220)
导致jetty服务器可以启动,但是浏览器打开127.0.0.1:8080
出现503
错误
在网上找了好久都没有正确的解决办法,我先总结一下出现这种情况的一些原因:
- xml文件配置错误
- Jetty-servier的版本与jetty-webapp的版本不兼容导致的
- JDK版本与jetty版本不兼容(这是我的主要错误原因)
我的开发环境:
- JDK 11
- Maven 3.6
- Jetty 9.4.9.v20180320(更换为9.4.15.v20190215)
解决办法:
修改pom.xml
文件中的jetty-maven-plugin
版本,更改为最新版9.4.15.v20190215
,修改后文件如下:
<!-- 添加 Jetty 支持-->
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.15.v20190215</version>
<configuration>
<httpConnector>
<port>8080</port> <!-- 这里指定 jetty 服务的端口号 -->
</httpConnector>
<useTestClasspath>true</useTestClasspath>
<webAppConfig>
<contextPath>/</contextPath> <!-- 这里指定在浏览器访问时,当前Web应用的根路径 -->
<defaultsDescriptor>jetty.xml</defaultsDescriptor>
</webAppConfig>
</configuration>
</plugin>
重新启动Jetty服务器,启动日志不再报错,成功启动。打开浏览器访问127.0.0.1:8080
成功访问页面(^_−)☆ (^_−)☆ (^_−)☆
希望对大家有所帮助,点个赞吧!(✪ω✪) (✪ω✪) (✪ω✪)