我正在创建一个独立的嵌入式码头服务器。所以基本上我正在为我的嵌入式jetty类提供一个WebAppContext,以便它可以从war目录中读取WEB-INF并运行服务器。我将项目打包为JAR并尝试从命令行运行它。 JAR运行但服务器请求不通过(404错误)。当我使用Netbeans内部的maven命令执行它时,服务器运行得很好。所以我想在运行独立JAR时无法正确定位资源。我试过在JAR文件本身添加war文件夹资源,硬编码本地路径,什么不是。现在似乎没什么用。如果有人遇到这个问题并有解决方案,我会非常感激。 这是代码:
public static void main(String[] args) throws Exception {
int port = 8080;
Server server = new Server(port);
String wardir = "webapps/war";
//wardir = wardir.replace("//", "/");
WebAppContext context = new WebAppContext();
context.setResourceBase(wardir);
String webXML = "/WEB-INF/web.xml";
// webXML = webXML.replace("//", "/");
context.setDescriptor(wardir + webXML);
context.setConfigurations(new Configuration[] {
new AnnotationConfiguration(), new WebXmlConfiguration(),
new WebInfConfiguration(), new TagLibConfiguration(),
new PlusConfiguration(), new MetaInfConfiguration(),
new FragmentConfiguration(), new EnvConfiguration() });
context.setContextPath("/");
context.setParentLoaderPriority(true);
server.setHandler(context);
server.start();
server.dump(System.err);
server.join();
}
}