【问题标题】:How to make the program find the properties file?如何让程序找到属性文件?
【发布时间】:2014-11-10 16:51:31
【问题描述】:

我有一个我希望我的 java 找到的属性文件,但它没有,然后我得到一个空指针异常。如何配置 maven 或 jetty 以包含我的属性文件?当我从编译类的目标目录运行类并且属性文件位于同一目录中时,它可以工作。但是当我用 maven 构建项目并用 jetty 启动它时,找不到属性文件,我不知道把它放在哪里,因为我不知道运行实例的目录是什么。你能告诉我在 pom.xml 中放置什么的 proterties 文件以包含属性文件吗?

        PropertiesCredentials credentials = new PropertiesCredentials(
                AWSJavaMailSample.class
                        .getResourceAsStream("AwsCredentials.properties"));

【问题讨论】:

    标签: java maven jetty amazon-ses maven-jetty-plugin


    【解决方案1】:

    文件现在在哪里?它必须位于类路径的根目录中(加载 AWSJavaMailSample 类的类加载器的),才能由 getResourceAsStream() 找到,仅提供名称。在标准 Maven 项目中,如果将其放入 src/main/resources 中,则应将其复制。

    http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResourceAsStream(java.lang.String)

    【讨论】:

    • 我已经尝试将它放在除了公共空间之外的其他地方以及我正在为码头 mvn jetty:run 运行 maven 插件的目录中。我在至少 4 个不同的地方找到了文件,但仍然找不到。
    • 您的基目录中有目标/类目录吗?是mvn编译后那个目录下的properties文件吗?
    • 是的,是的,它就在那里。我的问题类似于这个问题:stackoverflow.com/questions/17949206/…我在尝试加载属性文件时得到一个 nullointerexception,也许我应该把它放在一些 webapp 目录中?
    猜你喜欢
    • 2020-09-09
    • 1970-01-01
    • 2012-08-26
    • 1970-01-01
    • 2014-11-30
    • 2011-09-22
    • 2015-04-07
    • 2011-06-25
    • 2011-11-03
    相关资源
    最近更新 更多