我正在跟踪本教程,我被Jetty配置困住了。这上面说
现在,将目录更改为Jetty,并获得一组默认配置选项,只需将文件上下文/test.xml(默认情况下随Jetty一起打包)复制到一个新文件中:
$ cp contexts/test.xml contexts/web_test.xml但是,我的jetty没有/context目录:
as-MacBook-Air:jetty.home a$ ls
README.TXT
VERSION.txt
bin
demo-base
etc
lib
license-eplv10-aslv20.html
logs
modules
notice.html
resources
start.d
start.ini
start.jar
webapps我遗漏了什么?jetty text.xml文件在哪里?
发布于 2013-12-19 01:23:56
文档链接:配置特定的Web应用程序部署
“上下文xml”是指下列任何XML文件:
org.eclipse.jetty.webapp.WebAppContext对于#2 (配置WebAppContext),Jetty 9的一个示例是
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN"
"http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/myapp</Set>
<Set name="war"><Property name="jetty.webapps" default="."/>/myapp.war</Set>
<Set name="extractWAR">true</Set>
</Configure>对于#3,部署程序目录是由您自己的设置和配置决定的。
查看etc/jetty-deploy.xml并查找您的monitoredDirName是什么。
${jetty.base}/webapps/${jetty.home}/contexts/,见(etc/jetty-contexts.xml)${jetty.home}/contexts/,见(etc/jetty-contexts.xml)Jetty 7和Jetty 8在部署人员中有一个不为人所理解的怪癖,您可以通过webapp部署器将webapp部署为WAR,也可以通过上下文部署器将webapp部署为上下文,如果同时部署了这两个部署者,那么您的webapp将被部署两次。(混淆了无数人)。
在Jetty 9中,合并了2种部署技术,以使它们彼此了解并防止重复的webapp部署。
Jetty9中的部署逻辑如下所示:
webapps目录(又名monitoredDirName)由WebAppProvider扫描。
此提供程序扫描一个或多个目录(通常为“webapp”)以查找要部署的上下文,可能是:
".war"结尾)为了避免双重部署,并允许扫描目录的内容具有灵活性,提供程序实现了一些启发,以忽略扫描中发现的一些文件:
"."开始)".d"结尾的目录将被忽略foo/和foo.war),则该目录被假定为已解压缩的WAR,并且只部署了WAR (可以重用已解压缩的目录)。foo/和foo.xml),则该目录被假定为未打包的WAR,并且只部署该XML (在其配置中可能使用该目录)foo.war和foo.xml),则假定WAR是由该XML配置的,并且只部署该XML。https://stackoverflow.com/questions/20671312
复制相似问题