use*_*567 6 web.xml embedded-jetty
我正在尝试在嵌入式Jetty服务器上部署Web应用程序.我的应用程序在Windows环境中使用下面的代码在本地运行良好,但是当我在Linux服务器上将其部署为JAR文件时,看起来我的web.xml文件没有被选中.在构建JAR之前,我是否需要在下面的Descriptor或ResourceBase字段中更改某些内容?
static void startJetty() {
try {
Server server = new Server(9090);
WebAppContext context = new WebAppContext();
context.setDescriptor("/WEB-INF/web.xml");
context.setResourceBase("../DemoWithMultiChannels/src/");
context.setContextPath("/");
context.setParentLoaderPriority(true);
server.setHandler(context);
System.out.println("Starting Server!");
server.start();
Run Code Online (Sandbox Code Playgroud)
我有同样的问题,只是找到了解决方案:
当我从终端运行"java -jar ..."时工作正常,但当我从另一个项目中生成它时,web.xml没有被选中.
原因是web.xml路径错误,它与原始项目有关,我最终做的是:
context.setDescriptor(Launch.class.getResource("/WEB-INF/web.xml").toString());
Run Code Online (Sandbox Code Playgroud)
如果你不使用资源,你只需读取src文件夹中的常规文件,而不是.jar中的常规文件
小智 2
部署嵌入式Jetty如下:
public static void main(String[] args) throws Exception {
Server server = new Server(8085);
WebAppContext webContext = new WebAppContext();
webContext.setDescriptor("WEB-INF/web.xml");
webContext.setResourceBase("src/sim/ai/server/start");
webContext.setServer(server);
webContext.setParentLoaderPriority(true);
server.setHandler(webContext);
server.start();
server.join();
}
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>sim.ai.server.start</display-name>
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>
com.sun.jersey.spi.container.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>sim.ai.server.start</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)
WEB_INF在jar文件同级文件夹下创建一个文件夹;复制web.xml到WEB_INF,例如:
sim/light.jar
sim/WEB-INF/web.xml
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9733 次 |
| 最近记录: |