嵌入式jetty没有在eclipse ide之外运行,jar也不包含webapp或者我们的根文件夹

时间:2016-04-20 22:51:53

标签: jetty

我在创建jar文件后以嵌入模式运行jetty时出现问题。它在创建jar的同一位置工作,因为它可以找到src / main / webapp文件夹但是当我复制我的jar时它没有运行。当我打开我的jar它没有src / main / webapp一切都在根级别。

  1. 首先,为什么它会在根级别创建所有特定原因?

  2. 如果没有src / main / webapp,我可以从Java命令行运行我的jar,如果是,那么在我的主类中我的webcontext资源是什么样的

1 个答案:

答案 0 :(得分:1)

试试这个:

String webappDir = this.getClass().getClassLoader().getResource("applicationContext.xml").toExternalForm();
webappDir = webappDir.substring(0, webappDir.lastIndexOf('/') + 1);
String webXmlPath = webappDir + "WEB_INF/web.xml";

WebAppContext context = new WebAppContext(webappDir, contextPath);
context.setDescriptor(webXmlPath);
context.setResourceBase(webappDir);
context.setClassLoader(new WebAppClassLoader(this.getClass().getClassLoader(), context));

从IDE或Jar运行都可以。