我应该在哪里放置一个maven jar依赖项所需的配置文件?

时间:2016-10-05 13:10:44

标签: java maven

所以我有2个项目,比方说Project1&项目2。

第一个是Java应用程序(没有maven)运行良好,阅读配置文件如下:

public static void init() {
  Path path = Paths.get("config.properties");
  byte[] data = Files.readAllBytes(path);
  ...
}

我从这个项目创建了project1.jar,我在Project2中使用它作为maven依赖项,这是一个动态Web项目。 很好地包含了这种依赖性,因为我可以毫无困难地使用它的其他部分。

我现在遇到的问题是,当我尝试从Project2调用init()方法时,我得到java.nio.file.NoSuchFileException

我想这是因为我必须将config.properties文件放在Project2树的某处(我不希望它包含在project1.jar中)

我拿了这个config.properties文件并试图将它放在我的maven树WebContentMETA-INFWEB-INFtarget,每个子目录的任何地方targetsrc ...没有什么工作,我仍然得到例外。

我是否必须以某种方式将其包含在pom.xml中?如果有,怎么样?如果没有......任何想法?

1 个答案:

答案 0 :(得分:0)

直接向前。 做什么RITZ XAVI建议。添加到src / main / resources

然后按如下方式替换init函数。

public static void init() {
    InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties");
    byte[] data = IOUtils.toByteArray(in);
    ...
}

根据您添加为maven依赖项的方式,我认为您必须使用自定义组和工件ID在您的仓库中安装jar