簡體   English   中英

Google App Engine WEB-INF和META-INF

[英]Google App Engine WEB-INF and META-INF

使用Google-Eclipse插件創建新的Web應用程序項目時 ,它會為您創建整個項目目錄結構,包括:

src/
    META-INF/
        jdoconfig.xml
        persistence.xml
war/
    WEB-INF/
        lib/
        web.xml
        ...etc.

首先,我的理解META-INF/僅適用於實用程序JAR,而不適用於Web應用程序(WAR)。 所以在項目中看到src/META-INF/*讓我感到意外。 但后來我看到GAE網絡應用程序的示例包裝如下:

TheWebApp.war/
    WEB-INF/
        lib/
        classes/
            META-INF/
        web.xml
        ...
    blah.jsp
    ...etc/

使用WEB-INF/classes/META-INF/ 除此之外,我沒有看到GAE項目和MANIFEST.MF目錄的任何提及,我總是看到在META-INF下打包使用。 現在我真的困惑。

所以我認為我首先需要確認/澄清META-INFWEB-INF的作用,然后了解它們如何在任何 Web應用程序的WAR中一起使用,然后了解任何特性(如果它們存在) )GAE放置在WAR結構上。

注意:我沒有使用Maven,並且至少在接下來的6-12個月內沒有打算(我現在沒有時間學習它)。 因此,如果這些問題的任何答案取決於您是否使用基於Maven的buld,我更喜歡非Maven答案,因為我正在使用Ant / Ivy。

所以我問:

  1. 對於實用程序(庫)JAR,可執行JAR和WAR, META-INF目錄的正常內容是什么? 對於WAR(GAE和非GAE)都需要MANIFEST.MF ,為什么或為什么不呢?
  2. 我應該在哪里放置非Web資源,以便它們可用於運行時類路徑? 例如,假設我有environment.propertiesmyapp-custom-resource-config.xml ...我在哪里放這些? WEB-INF/WEB-INF/classesWEB-INF/classes/META-INF 別的地方?
  3. GAE項目的WEB-INFMETA-INF目錄的正確內容是什么,包裝它們的正確方法是什么?

提前致謝。

與JAR文件META-INF目錄一樣,根級別/ META-INF目錄包含應用程序清單文件。 它還可以包含特定Web容器或應用程序服務器的資源。 例如,Apache Tomcat在此目錄中查找並使用context.xml文件來幫助自定義如何在Tomcat中部署應用程序。

與JAR文件不同,根級別/ META-INF目錄不在應用程序類路徑上。 您不能使用ClassLoader獲取此目錄中的資源。 然而,/ WEB-INF / classes / META-INF位於類路徑上。 您可以將所需的任何應用程序資源放在此目錄中,並且可以通過ClassLoader訪問它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM