![](/img/trans.png)
[英]How to get Jetty in Karaf to serve static content from file system?
[英]How do I start Jetty8 to only serve static content?
出於測試目的,我想使用Jetty 8僅提供靜態內容。 我知道如何從命令行啟動Web服務器:
java -jar start.jar jetty.port = 8082
我希望能夠使用香草碼頭,最好是8或7,並使用以下內容啟動它:
java -jar start.jar OPTIONS = resources resources.root = .. / foo jetty.port = 8082
然后可以從服務器的根目錄訪問這些文件。 應該可以通過http://localhost:8082/x.html
訪問名為../foo/x.html
的文件。
我不想創建一個WAR文件或任何花哨的東西。 最好不要在服務器端進行任何緩存,使文件在Windows機器上解鎖。 此外,我只想提供文件,甚至位於子目錄中,沒有花哨的文件瀏覽器或從客戶端修改它們的方法。
這可能嗎? 如果沒有,完成此類行為所需的最低配置是什么?
附加信息
我試過以下命令。 我希望能夠使用http://localhost:8080/javadoc/
瀏覽Jetty 8附帶的http://localhost:8080/javadoc/
,但它總能給我一個404
java -jar start.jar --ini OPTIONS =服務器,資源等/ jetty.xml contexts / javadoc.xml
啟動Jetty並使其提供靜態內容的最簡單方法是使用以下xml文件:
靜態的content.xml:
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure id="FileServer" class="org.eclipse.jetty.server.Server">
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="host"><Property name="jetty.host" /></Set>
<Set name="port"><Property name="jetty.port" default="8080"/></Set>
</New>
</Arg>
</Call>
<Set name="handler">
<New class="org.eclipse.jetty.server.handler.ResourceHandler">
<Set name="resourceBase"><Property name="files.base" default="./"/></Set>
</New>
</Set>
</Configure>
你可以使用以下方式啟動Jetty:
java -jar start.jar --ini static-content.xml files.base=./foo jetty.port=8082
如果省略files.base,將使用當前的目錄; 如果省略jetty.port,將使用端口8080。
--ini
將禁用--ini
的設置,因此也確保不會激活其他處理程序等。
有點offtopic,但有人使用maven可能希望這樣的事情(假設靜態資源已被復制到target/web
):
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.9.v20130131</version>
<executions>
<execution>
<id>start-jetty</id>
<phase>install</phase>
<goals>
<goal>start</goal>
</goals>
<configuration>
<webAppConfig>
<resourceBases>
<contextPath>/</contextPath>
<resourceBase>${project.build.directory}/web</resourceBase>
</resourceBases>
</webAppConfig>
</configuration>
</execution>
</executions>
</plugin>
在contextxts目錄下的發行版中有一個javadoc.xml,您可以將其作為一個示例來說明如何輕松地完成此操作。
這就是它的實際情況
您正在尋找更改上下文路徑和資源庫
還建議只從start.ini文件中的啟動中刪除jetty-webapps.xml,並刪除不想部署的上下文文件
您可以查看在start.ini文件中設置其他一些選項,如果您願意的話
http://wiki.eclipse.org/Jetty/Feature/Start.jar
去那里獲取開始過程的信息
干杯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.