2013-04-16 47 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也可以将流作为输入,因此不需要改变其他任何东西。