Maven:如果工件有自己的依赖项,它们是如何构建的?
Maven: How are artifacts built if they have their own dependencies?
假设我创建了一个新神器,我们称它为"MyArtifact"。为了创建这个工件,我不得不使用 3 个依赖项,我们称它们为 "Dependency1"、"Dependencies2" 和 "Dependency3"。
如果我只是使用 Maven 为这个工件创建一个 jar 文件,生成的 jar 文件将不包含依赖项的 class 文件,这将使 jar 文件无用。
我理解正确的设计是工件应该包含一个 "reference" 到它的依赖项,一旦应用程序安装了工件,它就会自动安装工件的依赖项。
如果是这样,我应该使用什么 Maven 插件来创建一个工件,当它安装在某些应用程序上时,它将引用应用程序到工件依赖项?
如果您构建一个 jar 作为库,即被其他工件用作依赖项,那么您只需将依赖项添加为 <dependency>
个条目。
如果有人在他们的 Maven 项目中使用您的库(并且还配置了与您相同的存储库),那么这些依赖项会自动找到。
如果您构建一个 jar 作为应用程序在某处 运行,那么您通常会包括依赖项,方法是使用 Maven 程序集或 Maven 阴影插件构建一个 运行nable jar,或者通过压缩库目录并添加开始 shell 脚本。
假设我创建了一个新神器,我们称它为"MyArtifact"。为了创建这个工件,我不得不使用 3 个依赖项,我们称它们为 "Dependency1"、"Dependencies2" 和 "Dependency3"。
如果我只是使用 Maven 为这个工件创建一个 jar 文件,生成的 jar 文件将不包含依赖项的 class 文件,这将使 jar 文件无用。
我理解正确的设计是工件应该包含一个 "reference" 到它的依赖项,一旦应用程序安装了工件,它就会自动安装工件的依赖项。
如果是这样,我应该使用什么 Maven 插件来创建一个工件,当它安装在某些应用程序上时,它将引用应用程序到工件依赖项?
如果您构建一个 jar 作为库,即被其他工件用作依赖项,那么您只需将依赖项添加为 <dependency>
个条目。
如果有人在他们的 Maven 项目中使用您的库(并且还配置了与您相同的存储库),那么这些依赖项会自动找到。
如果您构建一个 jar 作为应用程序在某处 运行,那么您通常会包括依赖项,方法是使用 Maven 程序集或 Maven 阴影插件构建一个 运行nable jar,或者通过压缩库目录并添加开始 shell 脚本。