Maven 程序集或阴影插件 - 如何从 jar 中排除源?

Maven assembly or shade plugin - How to exclude sources from jar?

我想知道是否可以使用 assembly 或 shade 插件从我的 maven 项目中排除一些资源以捆绑在 jar 文件中。请注意,我可以通过放入构建 DOM 节点来做到这一点:

<resources>
        <resource>
            <directory>src/main/resources</directory>
            <excludes>
                <exclude>**</exclude>
            </excludes>
            <filtering>false</filtering>
        </resource>
</resources>

但我正在寻找其他东西,因为这搞砸了我的 eclipse 设置。

PS:例如,我想从 jar 中排除整个 src/main/resources/config 文件夹,而是将其复制到目标文件夹中。复制我使用maven-resource-plugin,但不能排除它。

您可以使用在 IDE 中激活的配置文件,其中包含额外的资源文件夹,以便您可以 运行/调试/测试它,但它们不会包含在默认包装。

您可以将排除的资源放在 src/main/config 而不是 src/main/resources/config 中,并相应地配置 maven-resources-plugin。按照惯例,资源目录用于存放进入 Jar 文件的资源。对于非常规用途,可以在 src/main 下创建自己的目录。