无法将* .jar导入Maven项目

时间:2013-01-02 14:35:33

标签: java eclipse maven import jar

我需要知道是否有Maven项目,我可以在不生成Maven依赖项(POM)的情况下导入外部(* .jar),只需在项目构建路径中导入它们。

我找到了尝试运行项目的麻烦,当它询问我无法在网络中找到的其他依赖项时,我检查了那些依赖项是不必要的,因为我检查了我的代码和( * .jar)在一个不使用Maven的项目中,它可以工作(无需导入libs)。

4 个答案:

答案 0 :(得分:2)

您可以像往常一样将jar导入本地存储库并在POM中引用它。但是,每个开发人员都需要在他/她的机器上进行导入(一次)。

请参阅:http://jeff.langcode.com/archives/27

答案 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]

如果您使用的是Nexus,则可以上传jar manually

答案 2 :(得分:1)

您可以提供System Dependency

答案 3 :(得分:1)

免责声明:以下内容仅适用于在多人共享同一项目的环境中工作。如果你是独自一人,那么建议的一切都很好。

我不喜欢系统依赖或做本地导入;在这两种情况下,你仍然在管理每台计算机的依赖关系,这是Maven应该带走的负担。

如果你真的有一个在任何在线Maven资源库中都找不到的依赖项,我宁愿选择一个很难但更可靠的路由,那就是安装一个本地的Nexus服务器,然后你也可以设置为一个很好的镜像。 Maven central和JBoss Nexus使客户无需继续从互联网上下载依赖项。这样你就拥有了一台机器,其中所有的Maven依赖项都得到了维护,这使它变得美观和可控。此外,您的Nexus更容易获得;如果您的互联网连接中断,外部Maven源可能会关闭或变得不可用。

然后你可以在Nexus中安装你的罐子(在一个名为“第三方”的本地存储库中,这是我在目前为止工作的公司中使用的常用策略)和你的Maven客户端,如果被正确告知您的Nexus服务器是一个镜像,可以引用第三方Maven依赖项,就像它们来自在线服务器一样。