我需要知道是否有Maven项目,我可以在不生成Maven依赖项(POM)的情况下导入外部(* .jar),只需在项目构建路径中导入它们。
我找到了尝试运行项目的麻烦,当它询问我无法在网络中找到的其他依赖项时,我检查了那些依赖项是不必要的,因为我检查了我的代码和( * .jar)在一个不使用Maven的项目中,它可以工作(无需导入libs)。
答案 0 :(得分:2)
您可以像往常一样将jar导入本地存储库并在POM中引用它。但是,每个开发人员都需要在他/她的机器上进行导入(一次)。
答案 1 :(得分:2)
您需要使用maven-install-plugin上的目标:install-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]
答案 2 :(得分:1)
您可以提供System Dependency。
答案 3 :(得分:1)
免责声明:以下内容仅适用于在多人共享同一项目的环境中工作。如果你是独自一人,那么建议的一切都很好。
我不喜欢系统依赖或做本地导入;在这两种情况下,你仍然在管理每台计算机的依赖关系,这是Maven应该带走的负担。
如果你真的有一个在任何在线Maven资源库中都找不到的依赖项,我宁愿选择一个很难但更可靠的路由,那就是安装一个本地的Nexus服务器,然后你也可以设置为一个很好的镜像。 Maven central和JBoss Nexus使客户无需继续从互联网上下载依赖项。这样你就拥有了一台机器,其中所有的Maven依赖项都得到了维护,这使它变得美观和可控。此外,您的Nexus更容易获得;如果您的互联网连接中断,外部Maven源可能会关闭或变得不可用。
然后你可以在Nexus中安装你的罐子(在一个名为“第三方”的本地存储库中,这是我在目前为止工作的公司中使用的常用策略)和你的Maven客户端,如果被正确告知您的Nexus服务器是一个镜像,可以引用第三方Maven依赖项,就像它们来自在线服务器一样。