我試圖在使用sbt-web-plugin(用於運行container:start
)時爲jetty創建自定義配置。有two container settings允許指定自定義碼頭xml配置:configurationFiles
和configurationXml
(當customConfiguration
爲true時)。sbt-web-plugin:使用configurationXml指定類路徑爲碼頭
但是,這完全覆蓋了由sbt-web-plugin完成的jetty的內部配置,因此自定義配置應完全配置jetty。如果沒有指定classpath到項目編譯的.class文件和依賴關係,它將不起作用。
我試圖做這樣的事情:
configurationXml in container.Configuration <<= fullClasspath (
<Configure id="Server" class="org.eclipse.jetty.server.Server">
...
<Set name="handler">
<New class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="resourceBase"><SystemProperty name="jetty.home" default="."/>/src/main/webapp</Set>
<Set name="descriptor"><SystemProperty name="jetty.home" default="."/>/src/main/webapp/WEB-INF/web.xml</Set>
<Set name="contextPath">/</Set>
<Set name="extraClasspath">{/* classpath should be here */}</Set>
</New>
</Set>
...
</Configure>
)
似乎這configurationXml
上fullClasspath
直接依賴是不可能的,因爲configurationXml
is SettingKey
和fullClasspath
is TaskKey
:
的實際重要性這是因爲您不能將任務作爲非任務設置的依賴關係。
是否可以包含fullClasspath
設置configurationXml
參數?
如果沒有,是否仍然可以將自定義配置設置添加到在container:start
上調用的jetty開發服務器?
此「env」設置在哪裏記錄? – aij
你可以在[文檔0.9版本]找到它(https://github.com/earldouglas/xsbt-web-plugin/blob/master/docs/0.9.md#web-application-settings),但這很漂亮舊的和不贊成的。我會考慮更新2.1。 – earldouglas