【发布时间】:2017-02-13 22:54:24
【问题描述】:
所以我有 2 个项目,比如说 Project1 和 Project2。
第一个是运行良好的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树WebContent、META-INF、WEB-INF、target、target、src的每个子目录中的任何地方。 . 没有任何效果,我仍然得到异常。
我是否必须以某种方式将其包含在pom.xml 中?如果是,如何?如果没有...有什么想法吗?
【问题讨论】:
-
创建类似
src/main/resources的目录结构并将config.properties 文件转储到资源文件夹中。看看这是否有效。 -
遗憾的是,我仍然得到异常
-
感谢您的链接,所以如果我无法手动将
path作为参数传递给init(),该方法将永远找不到它? -
顺便问一下,您是如何将 project1 作为依赖项添加到 project2 的?另外,试试这两件事。 1. 在 Project1 中,右键单击包并选择新建 -> 文件,然后输入包含“.properties”后缀的文件名并将您的内容放入其中。 2.在你的project1中创建一个与
src同级的respurces文件夹,并将属性文件放在这个文件夹中。