2013-04-16 224 views
-1

大家。 我在以下方面的工作:JBoss 6 - 戰爭部署

  • Eclipse的赫利俄斯服務版本2
  • 的Jboss 6
  • JDK 6

我觀察到JBoss的部署 「戰爭」 文件中稱爲「temp」(C:\JBOSS_6\jboss-6.0.0.Final\server\default\tmp)的臨時目錄。每次JBoss重置時,部署位置都會發生變化(在「temp」目錄中)。因此,應用程序無法找到要讀取的文本文件。

當應用程序試圖訪問下面的錯誤顯示文件:

「C:\ JBOSS_6 \ jboss-6.0.0.Final \服務器\ DEFAULT \部署\ ScadaJ2eeWeb.war \ WEB- INF \類\ ES \因陀羅\ TRANSPORTE \中心\ J2EE \核心\資源\ config_0000_ESTACION.properties致發光(EL SISTEMA沒有puede encontrar LA魯塔especificada)」

我已經cheked該文件中的文本包括在戰爭文件(解壓縮爲zip文件)。

有什麼辦法來配置JBOSS(或者用Eclipse生成war文件的方式),這樣JBoss總是將war文件部署在同一個目錄下(在這種情況下,路徑爲「C:\JBOSS_6\jboss-6.0.0.Final\server\default\deploy\ScadaJ2eeWeb.war\」)?

非常感謝您提前。

我正在使用絕對路徑來讀取文件。 我需要讀這個文件來生成另一個。最後一個和第一個一樣,但是隻有一個。 我做句子的順序如下:

private static final String NAME_FILE_PROP_STAT = "config_0000_ESTACION.properties"; 
ClassLoader classLoader = BackingUploadMonitoringMaps.class.getClassLoader(); 
urlResource = classLoader.getResource("es/indra/transporte/central/j2ee/core/resources/" + NAME_FILE_PROP_STAT); 
File originalFile = new File(urlResource.getFile()); 
// I use this class to read the file and generate the other one (changing a certain line) 
Scanner scan = new Scanner(originalFile); 

當這最後一句調用我得到我

前面提到
"C:\JBOSS_6\jboss-6.0.0.Final\server\default\deploy\ScadaJ2eeWeb.war\WEB-INF\classes\es\indra\tran 

sporte \中心\ J2EE \核心\資源\ config_0000_ESTACION.properties錯誤(薩爾瓦多SISTEMA沒有puede encontrar LA魯塔especificada)」

+0

您是使用相對路徑還是使用絕對路徑來讀取該文件? – Khanser

+0

@Narciso那(屬性)文件應該是隻讀還是不是? – acdcjunior

+0

對不起,我不知道如何通過計算器回答你的問題。我編輯了這個問題並添加了更多信息。 – Narciso

回答

0

沒有必要知道在哪裏WAR被解壓到。只需使用

InputStream stream = classLoader.getResourceAsStream("..."); 

並從流中讀取文件。 java.util.Scanner也可以將流作爲輸入,因此不需要改變其他任何東西。