Jetty:解压缩.war到特定文件夹

Sla*_*ava 5 java jetty war

我需要运行Jetty,指定war-file并让它由Jetty解压缩到特定位置.Jetty的常见行为是将TEMP目录或JETTY_HOME/work目录解压缩到一个名为this的子文件夹:jetty-HOST-PORT-CONTEXT.war -_- any-这对我们的环境来说是绝对不合适的因为PORT部分是随机的.战争文件必须由Jetty解包,目的地必须100%灵活.

可能吗?请指教.Jetty不是我的专业领域,请原谅我,如果问题是蹩脚或微不足道,但谷歌搜索没有多大帮助.

非常感谢你!

Sla*_*ava 5

谢谢大家.我已设法通过以下代码实现扩展Jetty的要求:

int port = 8080;
String context_path = "/";
File tmp_directory = "C:\\some-custom-path\\";
String war_path = "C:\\path-to-a\\file.war";

WebAppContext app = new WebAppContext();
app.setContextPath( context_path );
app.setWar( war_path );
app.setTempDirectory( tmp_directory );

Server server = new Server( port );
server.setHandler( app );
server.start();
server.join();
Run Code Online (Sandbox Code Playgroud)

app.setTempDirectory调用使Jetty将war-file解压缩到自定义文件夹中.我没有找到任何其他方式,但解决方案适合我.