簡體   English   中英

GWT Project在開發人員模式下可以正確讀取屬性文件,但是在部署它時找不到它

[英]GWT Project reads properties file correctly at dev mode, but couldn't find it when I deployed it

因此,我有2個引用到我的GWT項目的jar文件,都以這種方式讀取屬性文件:

String PROPS_FILE = "Props.properties"
Properties propFile = new Properties();
propFile.load(new FileInputStream(PROPS_FILE));

這兩個jar文件都用Java編碼,並作為JAR庫導出。

屬性文件位於dev模式下的war文件夾中。

它可以在開發人員模式下正常工作,但是當我在部署它時嘗試時遇到錯誤

java.io.FileNotFoundException:Props.properties(無此類文件或目錄)。

無論如何,是否可以在不修改JAR的情況下進行這項工作? 謝謝。

文件夾結構如下:

戰爭
-WEB-INF
-Props.properties
-Props2.properties

將項目編譯為.war文件並使用glassfish進行部署后,文件夾結構如下所示:

(路徑ETC ...)/應用程序/ SAMPLEGWTAPP /

  • -WEB-INF
  • -Props.properties
  • -Props2.properties

選項1:在生產模式下運行GWT時,默認情況下,WAR的WEB-INF/classes位於其類路徑中。 嘗試將屬性文件直接放在WEB-INF / classes下。 如果您的服務器仍然找不到屬性文件,請使用以下代碼:

InputStream is = this.getClass().getClassLoader().getResourceAsStream("Props.properties");
Properties myProps = new Properties();
myprops.load(is);

選項2:外部化位置並將其放置在項目結構之外-例如,在文件系統上某個properties目錄下。 然后,您可以將此properties目錄添加到IDE中的類路徑中(在Eclipse中,可以通過“構建路徑”>“添加變量”來完成此操作),還可以在服務器中運行它時將其添加到類路徑中-有關如何操作的信息,請參閱服務器的文檔添加一個類路徑。 例如,將目錄添加到Tomcat的classpath中,你必須做像這里所說的添加目錄到Tomcat的classpath

暫無
暫無

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

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