【问题标题】:Maven configuration for resource export用于资源导出的 Maven 配置
【发布时间】:2013-11-04 08:49:32
【问题描述】:

我在eclipse下有一个带有spring依赖的maven项目。它在 Eclipse 下正确运行,但是当我尝试使用 Eclipse 导出可运行 jar 选项将项目导出到 jar 文件时。生成的jar文件无法运行,因为找不到放在src/main/resources下的xml文件

我注意到 jar 文件中的资源放在 myFile.jar/resources/META-INF/config.xml 下,而不是 myFile.jar/META-INF/config.xml

为了解决这个问题,我编辑了类路径并删除了 include="*/.java" 并添加了排除属性。 工作一: 由maven更新:

但是当我使用 maven (alt+F5) 更新项目时,它会更新 .classpath 文件并再次出现问题。

为了解决这个问题,我添加了 源/主/资源 /.xml /.java [...]

但它总是将 include="*/.java" 添加到 .classpath 文件中。

我的问题是如何配置 maven,以便即使我使用 maven 更新项目,导出 jar 文件也会放在 myFile.jar/META-INF/config.xml 下。

任何帮助都会很棒。

谢谢。

【问题讨论】:

    标签: java eclipse spring maven executable-jar


    【解决方案1】:

    使用 Maven-Shade-Plugin。

    来自插件页面:

    这个插件提供了将工件打包成一个 uber-jar,包括它的依赖和遮蔽 - 即重命名 - 一些依赖的包。

    该插件将所有依赖项捆绑到一个可运行的 jar 文件中。

    它还允许您使用以下代码最小化 jar 文件的大小:

    <configuration>
      <minimizeJar>true</minimizeJar>
    </configuration>
    

    有关最小化的一些信息,请参阅我的question

    【讨论】:

      【解决方案2】:

      你是用 maven 创建的可执行 JAR 文件吗?

      如果是这样,您可以使用Resource plugin 将配置文件放置在您希望找到它们的位置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-27
        • 2011-07-22
        • 2017-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-11
        • 2012-07-02
        相关资源
        最近更新 更多