如何将文件夹、资源和 pom 文件从 maven 项目获取到另一个 maven 项目?

Posted

技术标签:

【中文标题】如何将文件夹、资源和 pom 文件从 maven 项目获取到另一个 maven 项目?【英文标题】:How to get folders, resources and pom file from a maven project to another maven project? 【发布时间】:2021-12-09 10:12:55 【问题描述】:

我正在 Eclipse 中尝试我的运气,以实现使用 Visual Studio(.net 项目)能够成功实现的目标。我有一个核心框架 maven 项目,除了 maven 提供的普通文件夹之外,还有其他文件和文件夹。我将它导出为 jar 文件并将其作为外部库添加到另一个 maven 项目。有没有一种方法,当我将它作为库添加到第二个项目时,第二个项目会获取所有文件夹,第一个 maven 项目中的文件也会覆盖第二个 maven 项目中的 pom 文件?简而言之,我想确保将框架 jar 作为参考的人遵循与框架相同的文件夹结构以及所需的文件,例如配置文件、pom.xml 文件,以避免丢失路径/文件时出错。我阅读了有关依赖管理的信息,但即使如此,我也必须在子 pom 文件中定义我想要避免的所有依赖项。任何帮助将不胜感激,我没有找到有关查询的太多信息。

【问题讨论】:

【参考方案1】:

    将 JAR 文件复制到 lib 文件夹是过时的做法。这样,您还搁置了 Maven 复杂的依赖(和传递依赖)解析。干净的 Maven 方法是将您的核心框架 JAR 放入 Maven 存储库(远程或 local at the users machine),并让它的用户在他们的项目中将其声明为依赖项。

    除了 maven 提供的普通文件夹之外的其他文件和文件夹”到底是什么意思?除了代码和资源还有什么?

    为了让您的用户在依赖关系方面的生活更轻松,您可以 a) 使用 BOM(物料清单)依赖关系或 b) 使用 inheritance(即 <parent> ← 子关系)。

【讨论】:

感谢您的回答。对于 2,我的意思是如果我们添加的文件夹中有一些 config/exe 文件并且不是由 maven (src/main/java(or test)) 项目类型创建的,但我们希望在添加时自动添加它们第 1 点的库。简而言之,如果导入项目中的核心框架需要一个文件夹路径,则应该在我从第 1 点添加依赖项后自动添加它。另外,当我有多个文件夹时建议我文件夹?【参考方案2】:

添加依赖项不会以任何方式改变您的项目。您不能将依赖项中的文件夹添加到项目中。

您可以编写一个 Maven 原型,它是一种项目模板。然后人们可以使用它来创建新项目,其中文件位于正确的位置。

【讨论】:

以上是关于如何将文件夹、资源和 pom 文件从 maven 项目获取到另一个 maven 项目?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Maven pom 仅将 jar 文件下载到特定目录?

如何使用 maven pom.xml 创建 jar

如何在 Maven2 模块之间共享过滤器文件?

关于maven配置的问题

AndroidStudio一直下载.pom文件

pom文件必须和maven版本一致吗