maven-jar-plugin 并排除传递依赖项

maven-jar-plugin and excluding transitive dependencies

提问人:Rob Audenaerde 提问时间:11/15/2023 更新时间:11/15/2023 访问量:17

问:

我正在一个大项目的 pom.xml 中创建一些额外的 jar 文件(基本上是一些模型类)

我正在使用带有此配置的maven-jar-plugin:

                <execution>
                    <id>issue-models-jar</id>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                    <configuration>
                        <archive>
                            <addMavenDescriptor>false</addMavenDescriptor>
                        </archive>
                        <classifier>issue-models</classifier>
                        <includes>
                            <include>**/api/issues/models/**</include>
                        </includes>
                    </configuration>
                </execution>

这给了我漂亮干净的罐子。但是,当我在另一个项目中将这些 jar 用作依赖项时(在存储库中安装它们之后),也会出现“母”pom 的依赖项。

我知道我可以排除这些缺点,但我不想在我使用这些 jar 的每个项目中都这样做。

这样的事情在 maven 中可行吗?还是我只是采取了错误的方法(tm)?

Java Maven jar 传递依赖关系

评论

1赞 Nick Holt 11/15/2023
我认为这是不可能的 - 传递依赖项是 pom 层次结构的结果,而不是您的自定义 jar。虽然您可以尝试使用“母”pom 中的部分来编造一些东西,但这可能只会转移问题,所以我认为最好的选择是使用自己的 pom 将“模型”分解到他们自己的项目中,然后依赖于现有项目中的这个新工件(项目)以及需要的任何其他地方。dependencyManagement
3赞 khmarbaise 11/15/2023
如果您有单独的重用意图,我强烈建议您创建一个单独的模块,该模块仅包含这些模型类,并使用 defaut 打包您的 jar 文件......其中包括依赖项(在 pom 文件中定义)和您可以根据需要配置的单独模块......

答: 暂无答案