2015-10-06 76 views
0

我正在使用在Jetty-8上運行的Java應用程序。罐子列表Jetty-8掃描

是否有有碼頭掃描所有罐子的名單什麼辦法..

我們可以打印的東西(如JAR的名稱或東西)當碼頭執行這些罐子。

更新

的核心問題是碼頭-8啓動速度慢。 我已經添加了metadata-complete="true",啓動時間減少了。

但這裏的問題是驗證這個概念

"metadata tag skips scanning jars of our web application." 

只是做如下更改我已經做了一個實驗:

嘗試1:

  1. 去掉了所有元數據標記從web.xml
  2. 碼頭日誌級別模式更改爲DEBUG。

我在調試級別日誌中發現的是它掃描我的web應用程序的所有jar。 [即OK]

然後,

  • 添加的元數據標記和重新啓動的服務器,並發現它正在處理相同意味着它的掃描我的web應用程序的廣口瓶中。
  • 這裏我正在尋找確保metadata tag從我的web應用程序跳過掃描jar的方法。

    回答

    0

    有一個命令

    java -jar start.jar --dry-run 
    

    列出了所有的依賴罐子類路徑。

    java -jar start.jar --help 
    

    給你start.jar

    0

    注意的詳細用法:Jetty 8 is EOL(壽終)。強烈建議您升級。

    WEB-INF/web.xml上的metadata-complete="true"屬性不會阻止JAR掃描。

    它僅僅指出,元數據是完整的,並且不應當被修改,如掃描其它元數據源的結果(如web片段,類註解等)

    然而,存在的其他特徵與元數據無關的Servlet規範,並要求jar/class掃描才能正常工作。示例請參閱javax.servlet.ServletContainerInitializer及其@HandlesTypes註釋。

    如果您使用的是Jetty 9,那麼您可以控制掃描的罐子列表。