将*.jar导入Maven项目时出现问题

3
我需要知道在Maven项目中是否可以在项目构建路径中导入外部(*.jar)文件,而不必生成Maven依赖(POM)。
我试图运行项目时遇到了麻烦,因为它要求我使用其他依赖项,但我无法在网上找到这些依赖项。我已经检查过我的代码和在一个不使用Maven的项目中的(*.jar)文件,发现这些依赖项是不必要的。

声明一个简单的<dependency>对这些JAR有什么问题呢?毕竟,这是Maven的主要卖点之一 - 简单的依赖处理。 - radai
4个回答

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 包

谢谢@asgoth!! 我会尝试的!! 祝你有愉快的一天,感谢你的时间和帮助!! - Carol

2
您可以将一个jar包导入到本地仓库,并像往常一样在POM文件中引用它。然而,每个开发者都需要在自己的机器上进行导入(一次即可)。
参见:http://jeff.langcode.com/archives/27

我要试一试!!非常感谢:D 祝你有美好的一天!! - Carol

1

我正在尝试!我会告诉你的!谢谢你的时间和帮助!祝你有美好的一天。 :D - Carol

1
免责声明:以下内容仅适用于多人共享同一项目的工作环境。如果您是独自工作,则所有建议都很好。
我不喜欢系统依赖或本地导入;在这两种情况下,您仍然需要为每台机器管理依赖项,这是Maven应该帮您摆脱的负担。
如果您真的有一个无法在任何在线Maven存储库中找到的依赖项,我宁愿采取更加困难但更可靠的方法,即安装本地Nexus服务器,您还可以将其设置为Maven中央和JBoss Nexus的良好镜像,以便客户端不必从互联网上下载依赖项。这样,您就有了一个维护所有Maven依赖项的单个机器,这使得它变得美观且易于控制。此外,您的Nexus更容易获得;外部Maven源可能会崩溃或在您的Internet连接断开时无法使用。
然后,您可以在Nexus中安装您的JAR文件(在名为“third-party”的本地存储库中是我迄今为止在所工作的公司中看到的常见策略),如果正确告诉您的Maven客户端您的Nexus服务器是一个镜像,则可以引用第三方Maven依赖项,就好像它们来自在线依赖项一样。

1
当你进入Maven的高级部分“发布管理”时,你会更感激我,Nexus基本上是可靠且易于完成这项工作的基础 :) - Gimby

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接