【问题标题】:Java paths in netbeans with maven带有maven的netbeans中的Java路径
【发布时间】:2011-03-18 08:43:03
【问题描述】:

我正在尝试使用 Maven 引用我的 NetBeans 项目中的属性文件。

在开发过程中,我使用了以下代码:

MyClass.loadProperties("src/main/resources/neo4j.properties");

这很好用。

现在我刚刚将我的项目构建为一个 JAR,当我执行它时,它抱怨它找不到这个文件。

我不希望该文件位于 JAR 文件中 - 我真的只是希望能够指定一个位置来加载属性文件 - 可能与主 JAR 相同的目录。

我应该使用什么路径?事实上,我根本不清楚这是如何工作的——我在之前的项目中遇到了类似的问题。

我认为 src/main/resources 是特定于 Maven 的,不是吗?运行 JAR 时,是否所有目录都与 JAR 所在的目录相关?

救命!

【问题讨论】:

    标签: java maven-2 netbeans


    【解决方案1】:

    我不知道这个MyClass.loadProperties方法是什么?

    是的,src/main/resources 是放置资源的 maven 约定,请参阅 Introduction to the Standard Directory Layout

    所以这个目录中的文件在 app jar 中。你让他们抛出一个资源协议,而不是文件协议。

    如果你想要一些配置文件在另一个地方,而不是在一个 jar 中,你需要自己构建一个策略。例如在主目录中,在用户选择文件夹中,在网络上,在类路径上的目录中,在首选项中......

    编辑:要在本地目录中获取配置文件抛出资源的东西,你需要把这个目录放在类路径中。

    【讨论】:

    • 谢谢。我如何通过资源加载它们?我一直在尝试使用文件路径...
    • 我编辑我的帖子来回答。但我认为这不是一个好方法;最好将配置文件放在 jar 中(所以在 appli 和 classpath 中),或者将其放在 classpath 之外的本地用户目录中,以便以偏好或常规方式记住配置路径。跨度>
    • +1,这个答案有助于我将 Netbeans 生成的 JDesktop 应用程序转换为 Maven(否则在尝试使用 ResourceMap 获取值时会出现 NullPointerException 失败。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多