从不同的项目访问属性文件

kam*_*aci 1 java properties maven-plugin-development

我正在开发一个自定义maven插件.当我读取自定义插件的属性文件时,一切都很好但是当我在不同项目中作为插件运行它如何获取项目属性文件时,它总是像往常一样查看自己的资源目录,因为:

我有这个:

Properties allProperties = new Properties();
allProperties.load(this.getClass().getResourceAsStream("/tokens.properties"));
Run Code Online (Sandbox Code Playgroud)

我试过了:

Properties allProperties = new Properties();
ClassLoader loader = Thread.currentThread().getContextClassLoader();
allProperties.load(loader.getResourceAsStream("/tokens.properties"));
Run Code Online (Sandbox Code Playgroud)

但没有奏效.有任何想法吗?

PS:当我运行它时,它从插件属性文件中读取.我的属性文件在

src/main/resources
Run Code Online (Sandbox Code Playgroud)

我在我的poms上使用它:

<build>
     ...
    <resources>
        <resource>
            <directory>src/main/resources/</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
     ...
</build>
Run Code Online (Sandbox Code Playgroud)

和我的属性文件:

project.version = ${project.version}
Run Code Online (Sandbox Code Playgroud)

Bal*_*usC 5

Properties allProperties = new Properties();
ClassLoader loader = Thread.currentThread().getContextClassLoader();
allProperties.load(loader.getResourceAsStream("/tokens.properties"));
Run Code Online (Sandbox Code Playgroud)

你很亲密 这确实是正确的类加载器,但路径错误.删除前导斜杠.

allProperties.load(loader.getResourceAsStream("tokens.properties"));
Run Code Online (Sandbox Code Playgroud)