当前位置: 首页 > 面试题库 >

Maven:添加外部资源

贲绪
2023-03-14
问题内容

我正在使用maven构建可执行的jar文件,这意味着您可以使用“ java -jar file.jar”运行它。

我想依靠用户定义的属性(只是一个包含键/值的文件),在开发阶段,我将“ user.properties”文件放在maven / src / main /
resources /文件夹中。

我的属性文件已加载:

final Properties p = new Properties();
final InputStream resource = IOParametres.class.getResourceAsStream("/user.properties");
p.load(resource);

现在,我想将该文件保留在JAR之外,并具有以下内容:

- execution_folder
   |_ file.jar
   |_ config
      |_ user.properties

我尝试使用maven插件进行很多操作,例如maven-jar-plugin,maven-surefire-plugin和maven-resources-
plugin,但是我无法使其正常工作…

在此先感谢您的帮助!


问题答案:

我仅使用maven配置就找到了所需的东西。

首先,我将config文件夹添加到类路径中:

<build>
<plugins>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.3.1</version>
    <configuration>
        <archive>
            <manifestEntries>
                <Class-Path>config/</Class-Path>
            </manifestEntries>
        </archive>
    </configuration>
</plugin>
</plugins>
</build>

我以与以前相同的方式加载资源:

final InputStream resource = IOParametres.class.getResourceAsStream("/user.properties");
p.load(resource);

而且,如果您想将示例资源文件保留在存储库中并从构建中删除它们:

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <excludes>
                <exclude>user.properties</exclude>
                <exclude>conf/hibernate.cfg.xml</exclude>
            </excludes>
        </resource>
    </resources>
</build>

在jar文件旁边,我添加了一个配置文件夹,其中包含我需要的所有资源文件。

结果是:

  • 可以使用 getResourceAsStream 加载user.properties __
  • 其他依赖特定资源的库(我不会争辩,但是我发现它不是很好)可以加载其资源而没有任何问题。

感谢您的帮助,希望有一天能对您有所帮助!



 类似资料:
  • 我在我的Minecraft客户端中有一个函数,它需要一个外部库。我在IDE中添加了它,并将其添加到lib/文件夹中,但它没有帮助。有人对此有经验吗?它们是两个罐子。

  • 当我右键单击Maven项目并选择AddDependency选项,然后在查询中键入外部jar的名称时,找不到它。如何将外部jar添加到Maven项目中?

  • 问题内容: 我正在尝试使用Angular和Phonegap加载位于远程服务器上但遇到问题的视频。在我的JSON中,URL作为纯HTTP URL输入。 我的影片范本 我所有其他数据都已加载,但是当我查看控制台时,出现以下错误: 我尝试添加配置设置,但没有解决我的问题。 问题答案: 这是唯一对我有用的解决方案: 然后在iframe中:

  • 我是SpringMVC的新人。我试图将我的核心Maven项目添加到Spring MVC Maven项目中。它成功地构建了,我可以在“target\project.war\WEB-INF\lib”中看到相应的jar文件,但它在glassfish控制台上引发了错误。 严重:部署应用程序时出现异常 我不能添加任何maven项目或jar文件。极有可能我没有做正确的添加依赖关系。如果有人能帮我。提前谢了。

  • Generators 相关文章 The Basics Of ES6 Generators By Kyle Simpson ES6 generators in depth By Axel Rauschmayer redux-saga 相关文章 Redux nowadays : From actions creators to sagas By Riad Benguella Managing Side

  • 全局配置 在 nuxt.config.js 中配置你想引用的资源文件: module.exports = { head: { script: [ { src: 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js' } ], link: [ { rel: 'style