我需要知道是否有一个 Maven 项目,我可以在不生成 Maven 依赖项 (POM) 的情况下导入外部 (*.jar),只需将它们导入项目构建路径。
当项目向我询问我无法在网络中找到的其他依赖项时,我在尝试运行该项目时遇到了麻烦,并且我检查了这些依赖项是否没有必要,因为我检查了我的代码和 (*.jar )在一个不使用 Maven 的项目中并且它可以工作(无需导入该库)。
您可以像往常一样将 jar 导入本地存储库并在 POM 中引用它。但是,每个开发人员都需要在他/她的机器上进行导入(一次)。
见:http: //jeff.langcode.com/archives/27
您需要在maven-install-plugininstall-file
上使用目标:
mvn install:install-file -Dfile=your-artifact-1.0.jar \
[-DpomFile=your-pom.xml] \
[-Dsources=src.jar] \
[-Djavadoc=apidocs.jar] \
[-DgroupId=org.some.group] \
[-DartifactId=your-artifact] \
[-Dversion=1.0] \
[-Dpackaging=jar] \
[-Dclassifier=sources] \
[-DgeneratePom=true] \
[-DcreateChecksum=true]
如果您使用的是Nexus ,您可以手动上传 jar 。
您可以提供System Dependency。
免责声明:以下内容仅适用于在多人共享同一个项目的环境中工作。如果您是一个人,那么所有建议都很好。
我不喜欢系统依赖或本地导入;在这两种情况下,您仍在管理每台机器的依赖关系,这是 Maven 应该从您身上带走的负担。
如果您确实有一个在任何在线 Maven 存储库中都找不到的依赖项,我宁愿采取艰难但更可靠的路线,那就是安装一个本地 Nexus 服务器,然后您还可以将其设置为 Maven 中央和JBoss Nexus,因此客户不必继续从 Internet 下载依赖项。这样一来,您就拥有了一台维护所有 Maven 依赖项的机器,这使它变得很好且可控。此外,您的 Nexus 更容易获得;如果您的 Internet 连接中断,外部 Maven 源可能会关闭或不可用。
然后,您可以在 Nexus 中安装您的 jars(在一个名为“第三方”的本地存储库中,这是我迄今为止在我工作过的公司中看到的一种常见策略)和您的 Maven 客户端,如果正确告知您的 Nexus 服务器是一个镜像,可以引用第三方 Maven 依赖项,就好像它们来自在线依赖项一样。