0

我在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 文件并且问题再次出现。

为了解决这个问题,我添加了 src/main/resources / .xml / .java [...]

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

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

任何帮助都会很棒。

谢谢。

4

2 回答 2

1

使用 Maven-Shade-Plugin。

从插件页面:

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

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

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

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

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

于 2013-11-04T08:56:53.803 回答
0

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

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

于 2013-11-04T08:58:10.323 回答