如何从Web应用程序中另一个jar内的类中读取位于jar内的文件

时间:2014-04-10 08:08:58

标签: java properties jar

这是我的问题:

我写了一个util类Config.java:

public static Properties getProperties(String filename, Class clazz) {
    Properties prop = new Properties();
    InputStream ins = null;
    try {
        if (clazz == null) {
            ins = ClassLoader.getSystemResourceAsStream(filename);
        } else {
            ins = clazz.getResourceAsStream(filename);
        }
        logger.info("load properties with filename: " + filename);
        if (ins != null) {
            prop.load(ins);
        }
    } catch (Exception ex) {
        logger.error("Error while loading file: " + filename, ex);
    } finally {
        try {
            if (ins != null) {
                ins.close();
            }
        } catch (Exception ex) {
            logger.error("Error while close inputstream: " + filename, ex);
        }
    }
    return prop;
}

我将这段代码编译成一个名为:gs-common.jar。

的jar

我还编写了一个名为AnalysisDBService的类,并按如下方式调用Config类:

Properties properties = Config.getProperties("longKeywordRule.properties",AnalysisDBService.class);

将这个biz项目编译成jar:gs-biz.jar。

我写了一个web应用程序,它依赖于gs-common和gs-biz(实际上gs-common.jar和gs-biz.jar位于/ WEB-INF / lib中)。 但是我发现当web应用程序在tomcat中启动时,无法加载gs-biz.jar中的属性文件。

有人可以告诉我该怎么做吗?

0 个答案:

没有答案