Jetty 可以通过 start.jar 的标志为您完成此操作
文档中有一个例子,这里: http: //www.eclipse.org/jetty/documentation/9.3.0.v20150612/quickstart-running-jetty.html
“以下命令:创建一个新的基本目录;启用 HTTP 连接器和 Web 应用程序部署程序;复制要部署的演示 Web 应用程序。
简化:
mkdir /home/me/mybase
cd /home/me/mybase
java -jar $JETTY_HOME/start.jar --add-to-startd=http,deploy
然后复制你的war,如果你使用ROOT.war,它会映射到/,并启动jetty:
cp my.war webapps/ROOT.war
java -jar $JETTY_HOME/start.jar
或者,如果您安装了 docker,您也可以通过复制它来获取官方设置,如下所示:
首先,让 docker 下载并运行 jetty,将主机上的目录映射到 docker 容器。我已经在映射 webapps,所以我只是继续使用那个映射。这会在完成后删除容器(-rm),因此它是干净的,它会启动一个交互式 bash shell,将您直接登录到一个官方准系统码头容器,该容器已准备好部署到 webapps 目录中的战争(正是我们想要的!)
sudo docker run --rm -it -v /home/myuser/jetty/webapps:/var/lib/jetty/webapps jetty:latest /bin/bash
如果你在容器上运行和环境,你会看到:
JETTY_BASE=/var/lib/jetty
只需 tar 这个基础,将 tar 复制到映射回 localhost 的 webapps 目录,然后退出。(请随意映射
root@f99cc00c9c77:/var/lib# tar -czvf ../jetty-base.tar.gz .
root@f99cc00c9c77:/var/lib# cp ../jetty-base.tar.gz jetty/webapps/
root@f99cc00c9c77:/var/lib# exit
回到本地主机,你有一个官方码头基地的焦油!docker 容器应该在退出时停止,您可以使用 sudo docker ps 进行测试,它应该显示一个空列表(只是标题)。
只是为了完成这个,回到主机上,创建一个基本目录(当然,作为 myuser,而不是 root):
mkdir ~/jetty/localbase
cp ~/jetty/jetty-base.tar.gz ~/jetty/localbase/
cd ~/jetty/localbase/
tar xvzf jetty-base.tar.gz
然后像以前一样启动它:
java -jar $JETTY_HOME/start.jar