簡體   English   中英

如何在戰爭的WEB-INF文件夾中包含屬性文件

[英]How to include a property file in WEB-INF folder of war

我正在使用ant構建我的網絡應用。 我試圖在源文件夾的WEB-INF文件夾中包含一個屬性文件。 我已將其包含在war / WEB-APP / classes文件夾中。 但是應用程序沒有讀取它。 因此,我想將其直接包含在WEB-INF文件夾中以在應用程序中讀取它。 我嘗試了以下方法,但似乎無濟於事。 我的build.xml看起來像這樣:

    <target name="build-dev" description="Package GWT app to web archive and deploy to web server">
   <echo message="Package GWT app to web archive" />
   <copy toDir="${basedir}/war/WEB-INF/lib">
      <fileset dir="${basedir}/lib" includes="*.jar" />
      <fileset dir="${gwt.home}" includes="*.jar" />
   </copy>
   <copy todir="${basedir}/war" file="${basedir}/src/etc/dev/GroupQuoteUI.properties" />
   <war basedir="${war.dir}" destfile="${deploy.dir}/${app.name}.war" webxml="${webinf.dir}/web.xml">
      <webinf dir="${webinf.dir}/">
         <include name="*." />

         <exclude name="**/web.xml" />
      </webinf>

      <classes dir="${basedir}/src/etc/dev/" includes="*.properties" />
   </war>
</target>

我試圖使用:

  1. “ webinf”標記中的“ include name =“ $ {war.dir} /GroupQuoteUI.properties”,但沒有用。

  2. 標記內還包含=“ $ {war.dir} /GroupQuoteUI.properties”。

  3. 同樣在“ webinf”文件夾中:

    “ zipfileset dir =” $ {basedir} / war /“ includes =” GroupQuoteUI.properties“ fullpath =” $ {webinf.dir} /GroupQuoteUI.properties“

但這在構建過程中給出了一個錯誤,指出“不能一起擁有src目錄”。

因此,我應該怎么做才能將此文件包含在戰爭的WEB-INF目錄中。 包括所有其他目錄和web.xml文件。

您無法通過以下方式訪問打包為war或jar的文件:

new FileInputStream()

相反,您可以執行以下操作:

this.getClass().getResourceAsStream(filename)

這將從類路徑中加載資源(您的屬性文件),因此它將在war歸檔中讀取該文件。 它使用與加載屬於this.getClass()的類相同的ClasseLoader來實現此目的。

在這里,您可以找到一個示例: 如何從Java中的類路徑真正讀取文本文件

暫無
暫無

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

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