-1

大家。我在以下情况下工作:

  • Eclipse Helios 服务版本 2
  • 老板6
  • JDK 6

我观察到 JBoss 将“ war ”文件部署在名为“ temp ”(C:\JBOSS_6\jboss-6.0.0.Final\server\default\tmp)的临时目录中。每次重置 JBoss 时,部署的位置都会更改(在“ temp ”目录中)。结果,应用程序找不到要读取的文本文件。

当应用程序尝试访问该文件时,会显示以下错误:

"C:\JBOSS_6\jboss-6.0.0.Final\server\default\deploy\ScadaJ2eeWeb.war\WEB-INF\classes\es\indra\transporte\central\j2ee\core\resources\config_0000_ESTACION.properties (El sistema no puede encontrar la ruta especificada)"

我检查了文件文本是否包含在战争文件中(将其解压缩为 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\central\j2ee\core\resources\config_0000_ESTACION.properties (El sistema no puede encontrar la ruta especificada)"

4

1 回答 1

0

不需要知道 WAR 解压到哪里。只需使用

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

并从流中读取文件。java.util.Scanner也可以将流作为输入,因此无需更改任何其他内容。

于 2013-05-17T13:32:30.280 回答