当前位置: 首页 > 面试题库 >

Maven:将自定义外部JAR链接到我的项目的最佳方法是什么?

颜德馨
2023-03-14
问题内容

这是我学习Maven的前两天,但我仍在努力学习基础知识。我有一个外部.jar文件(在公共存储库中不可用),我需要在我的项目中引用该文件,我正在尝试找出我的最佳选择。

这是一个小型项目,没有用于库的中央存储库,因此它必须是本地存储库(以某种方式添加到源代码管理中,不知道它是否应该以这种方式工作?)或.jar需要存储在磁盘在任何正式存储库之外。

1)鉴于我希望项目和库都在源代码管理中,因此使用maven将.jar文件添加到项目引用中的最佳选择是什么?

2)我似乎仍然无法让Eclipse看到依赖关系。我手动将其添加到pom的这一部分,它在m2eclipse的Dependencies列表中显示得很好。mvn编译和mvn软件包都成功,但是运行程序会导致:

Exception in thread "main" java.lang.Error: Unresolved compilation problems:
        LibraryStuff cannot be resolved to a type

这是将POM编辑为:

<dependency>
  <groupId>stuff</groupId>
  <artifactId>library</artifactId>
  <version>1.0</version>
  <systemPath>${lib.location}/MyLibrary.jar</systemPath>
  <scope>system</scope>
</dependency>

我是否应该执行mvn install:install-file甚至认为我已经按照上面的方法编辑了pom.xml?

谢谢!


问题答案:

我认为你应该使用mvn install:install-file库jar填充本地存储库,然后将范围从系统更改为编译。

如果你从maven开始,我建议直接使用maven而不是IDE插件,因为它会增加一层额外的复杂性。

至于错误,你是否将所需的jar放在类路径上?如果要使用库中的类型,则还需要在运行时中也可以访问它。这与Maven本身无关。

我不明白为什么要将库放到源代码管理中-它是针对源代码而不是二进制jar。



 类似资料:
  • 问题内容: 我想到了两种实现方式:在性能,可读性和可维护性方面,您认为其中哪一个更好? 创建像这样的UIColor扩展 } 创建一个结构: } 问题答案: 答: 扩展,以我的专业意见。 考虑一下;从哲学上讲,您是在“扩展”所提供的颜色范围。如果您的颜色名称是唯一的,并且新功能遵循Apple的方法命名协议(即),则扩展似乎更整洁。一种或两种新颜色(以我的观点)并不能保证全部是专用的。 奖励答案:(或

  • 本文向大家介绍maven项目引用外部jar包的方法,包括了maven项目引用外部jar包的方法的使用技巧和注意事项,需要的朋友参考一下 问题描述: 有一个java maven web项目,需要引入一个第三方包gdal.jar,但是这个包是自己打包的,在maven中央库里面找不到该包,因此我采用传统的方式,将这个包拷贝到:项目名称\src\main\webapp\WEB-INF\lib的目录下,然后

  • 问题内容: 当您有多个都使用同一组JAR库的项目时,在每个项目中一遍又一遍地包含相同的JAR太麻烦了。如果我正在从事20个不同的项目,那么我宁愿没有20个完全相同的JAR文件。使所有这些项目(以及新项目)引用同一组JAR的最佳方法是什么? 我有一些想法,但每个想法都有一些缺点: 将所有JAR放在一个文件夹中,并使每个项目都在该文件夹中显示。 使用Eclipse创建一个“用户库”,并使每个项目都引用

  • CardView通常只用于装饰一个元素。但有时您需要在这个小部件中包装几个项目。比如收件箱应用程序。 那么,最好的方法是什么呢?它可以通过自定义LayoutManager甚至自定义ItemDecoration来实现。实现自定义LayoutManager并非易事(完全支持动画、项目装饰等)。在第二个选项中,边界的绘制必须手动实现,忽略CardView(和Android-L elevation)实现。

  • 问题内容: 在IntelliJ IDEA中创建新的Java项目时,将创建以下目录和文件: 我想配置IntelliJ IDEA,以将我的依赖项JAR包含到项目中。在IntelliJ IDEA中实现此目标的正确方法是什么? 问题答案: 在IntelliJ IDEA中添加外部jar的步骤: Click File from the toolbar Project Structure (CTRL + SHI

  • 我在一个数据库中有两个表,这两个表都来自最初以电子表格形式提供的官方政府参考表。 下面说明了这两个表的结构。 表1(物种代码) 表2(允许的表示代码) 当我尝试在第一个和第二个之间创建关系时(以便充分利用在第二个表中查找值的能力),当我尝试将speciescodes.FAOC的颂歌链接到alolwestates. Ers物种代码时,会出现以下错误。 “SpeciesCodeLookup”表已成功保