在jboss目录中写一个文件

时间:2011-08-02 08:32:26

标签: java xml jboss

我想写一个位于jboss的conf目录下的xml文件。

我这样打开它:

public void initialiserXml() {
        sxb = new SAXBuilder();

        try {
                    String fileXml= System.getProperty("jboss.server.home.dir").concat("/").concat("/conf").concat("/exempleMessage.xml");
            System.out.println("Fichier xml " +fileXml);
            document = sxb.build(fileXml);
            racine = document.getRootElement();
            System.out.println("Fichier Xml trouvé");
        } catch (FileNotFoundException e) {
         System.err.println("Aucun fichier XML trouvé");
        } catch (JDOMException e) {
             System.err.println("Fichier XML mal construit");
        } catch (IOException e) {
             System.err.println("Impossible d ' ouvrir le fichier XML");
        }
   }

并且在修改之后我写了这样的改变

public void enregistreFichier()
   {
         XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
         try {
            sortie.output(document, new FileOutputStream(fileXml));
        } catch (FileNotFoundException e) {
             System.err.println("Fichier XML source non trouvé");
        } catch (IOException e) {
             System.err.println("Impossible d ' ecrire dans le fichier XML");
        }
   }

这适用于我的测试环境,但是当我在生产环境(Linux服务器)上测试它时,它在以后不再有效 我传递sortie.output(document,new FileOutputStream(fileXml)); (FileNotFoundException异常)

我不明白,当我用saxbuilder打开它时找到了我的文件,但是当我写入时,我有一个filenotfoundexception

如何解决问题?

非常感谢

1 个答案:

答案 0 :(得分:0)

当您没有文件的所有必需权限时,也会抛出FileNotFoundException。在这种情况下,您可能缺少/conf/exempleMessage.xml文件的写入权限

你应该通过命令“ps -ef | grep jboss”检查哪个用户正在运行jboss,它会给你一个列表,所有进程女巫名都包含字符串jboss。在此之后,您可以通过“chown:/conf/exempleMessage.xml”

将文件的所有权更改为该用户