Maven:如何在Eclipse中包含jar,它们在存储库中不可用?

我已将JAR复制到src\main\webapp\WEB-INF\lib
我用eclipse。 如果我将jar一个一个地添加到Project-> Java Build Path-> Add jars,然后我执行Project-> Maven-> Update Project Configuration,它们将被Maven删除。 Eclipse显示错误,其中包含“xxx无法解析”。

 Env: Eclipse Java EE IDE for Web Developers. Version: Indigo Service Release 1 Build id: 20110916-0149 m2e - Maven Integration for Eclipse 1.0.100.20110804-1717 

注意:我不想创建自己的Maven存储库。 它只会使用一次。
我该怎么办?

并非所有库都可以在公共Maven存储库中找到,例如您自己的库或专有库。 无论如何,首先你可以搜索Maven资源库 ,也许其中一些存在。

如果它们确实不存在,并且您不想安装Nexus或Artifactory ,您可以选择以下两种方法之一:

  • 将jar安装在本地存储库缓存中,无需创建特殊存储库。 请参阅有关mkyong的说明 。

  • 另一种方法是使用系统依赖,你只需要在文件系统中放置一个到达Jar的路径。 这是一种不太推荐的方法,但如果你真的想要它会起作用。 这是官方文档 。

添加一个系统依赖项 。


如果你想将这个(这使用jquantlib作为例子)添加到maven本地仓库使用:

 mvn install:install-file -Dfile=./jquantlib-0.2.4.jar -DgroupId=org.jquantlib -DartifactId=jquantlib -Dversion=0.2.4 -Dpackaging=jar 

为此,我使用批处理文件

 @echo off cd lib CMD /C "mvn install:install-file -Dfile=./jquantlib-0.2.4.jar -DgroupId=org.jquantlib -DartifactId=jquantlib -Dversion=0.2.4 -Dpackaging=jar" CMD /C "mvn install:install-file -Dfile=./jquantlib-helpers-0.2.4.jar -DgroupId=org.jquantlib -DartifactId=jquantlib-helpers -Dversion=0.2.4 -Dpackaging=jar" CMD /C "mvn install:install-file -Dfile=./jquantlib-samples-0.2.4-ubber.jar -DgroupId=org.jquantlib -DartifactId=jquantlib-ubber -Dversion=0.2.4 -Dpackaging=jar" CMD /C "mvn install:install-file -Dfile=./jquantlib-samples-0.2.4.jar -DgroupId=org.jquantlib -DartifactId=jquantlib-samples -Dversion=0.2.4 -Dpackaging=jar" CMD /C "mvn install:install-file -Dfile=./ta-lib-0.4.0.jar -DgroupId=com.tictactec -DartifactId=ta-lib -Dversion=0.4.0 -Dpackaging=jar" 

您可以在其他系统上使用类似的脚本文件。

我相信不应该使用系统依赖方法,除非你没有任何其他选择,那是因为你在这里失去了整个’构建可移植性的东西’。 当然,您可以将您的jar子与项目的源文件一起存储在源代码管理系统中,但我认为这不是一个好的方法……

仅使用安装:install-file不够好 – 这确实会将正确格式的jar部署到本地存储库中,但是当您移动到另一台计算机并开始在那里构建项目时会发生什么? 你需要再次这样做。

所以,如果你不想安装nexus / artifactory(我认为这是最好的解决方案),你可能应该创建另一个存储库(只在你的某些服务器上的文件系统中),并在那里部署jar(你可以使用这里建议的mvn install:install-file,然后只复制整个树)。 现在您可以配置apache Web服务器并通过http访问包含所有jar的目录。 我不相信它比nexus / artifactory方法更好,但是如果你熟悉apache web服务器,它可能会更容易一些。 为了让您的maven了解这个新存储库,您需要编辑%MAVEN_HOME%\ conf \ settings.xml文件

要添加不在本地存储库中的外部JAR文件,只需右键单击主源文件夹,然后从构建路径菜单中选择:“configure build path”,然后导航到libraries选项卡并单击“添加外部JAR文件”。 接下来,找到要添加为库的JAR(或zip)文件,然后单击“确定”。

恭喜,您现在已成功将外部JAR(或zip)添加到构建路径中,现在可以从项目中的该JAR文件导入任何类,而不会抛出错误Picture How-To 🙂 http://hostthenpost.org/上传/ 541be8420657320c74489ff8d456ad08.png