如何让JAR访问属性文件?

时间:2014-02-20 20:36:57

标签: java eclipse java-ee jar properties-file

我创建了一个EJB项目并将其放在eclipse上的Dynamic Web Project的lib文件夹中。这个jar(EJB)使用2个属性文件。那些2应该在.jar之外(在运行时有写在它们上面的值,没有使用DB的选项)。 Web应用程序部署但无法接收文件。

现在我知道在“运行配置”中可以做一些事情,但这不是一个可运行的jar,而是一个带有类的EJB项目,因此jar就像一个类库。

如何在类路径中包含此属性文件,以便可以从JAR外部加入它们?或者还有其他选择吗?

PD :(下面是EJB和属性) The EJB and the properties files

PD2 :(我得到的错误)

  

15:03:49,480 ERROR [stderr](http-localhost-127.0.0.1-8082-1​​)java.io.FileNotFoundException:log_prueba.properties(El sistema no puede hallar el archivo especificado)

这是我用来读取属性的函数的代码:

public void funcionPrueba()
{
    PropertyConfigurator.configure("log_prueba.properties");
    Random ran = new Random();
    logger.info("Inicia prueba");
    try
    {
        FileInputStream in = new FileInputStream("Test.properties");
        Properties props = new Properties();
        props.load(in);
        in.close();
        FileOutputStream out = new FileOutputStream("Test.properties");

        for(int i=0; i<3; i++)
        {
            props.setProperty("Q.QUEUE.REQ.01", "QL.COLA.REQ." + ran.nextInt(100));
            props.setProperty("Q.QUEUE.RES.01", "QL.COLA.RES." + ran.nextInt(100));
            logger.debug("propiedad 01:" + props.getProperty("Q.QUEUE.REQ.01"));
            logger.debug("propiedad 02:" + props.getProperty("Q.QUEUE.RES.01"));
            props.store(out, null);
        }

        out.close();
    }
    catch(Exception e)
    {
        logger.error("Error - Exception:" + e);
    }
}

0 个答案:

没有答案