将maven项目的依赖添加到非maven项目

Add a dependency from a maven project to a non-maven project

我正在为我想访问 GPIO 的 Raspberry Pi 编写一个 java 程序。 为此,我使用 Pi4J-Library Version 2 (https://pi4j.com)。 作为 IDE 我使用 Visual Studio 代码 - 正如他们建议的那样。

在我的 VSC 工作区中包括:

我可以使用适当的 maven 命令编译和打包最小示例应用程序和我自己的项目。

然后我有一个 java 库,用于我自己编写的桌面应用程序。我将这个库和一个使用该库的项目添加到工作区。 我可以从 VSC 运行 这个桌面应用程序。 最初使用 Eclipse 编写的库和应用程序。 Maven 不参与。

现在我正在尝试在我的 Pi4J 项目中使用来自桌面库的 class:new MyLibClass

VSC 显示“MyLibClass 无法解析为类型”。我已经导入了 class:import package.name.MyLibClass。显然 Pi4J 项目不知道在哪里可以找到 class。但是当我按住 CTRL 并单击 class 名称时,它会打开相应的文件。

我想我需要向我的 Pi4J 项目的 pom.xml 添加依赖项。 但我完全不知道要为 groupIdartifactIdversion 指定什么。桌面库不是 Maven 项目。

非常感谢您的提前帮助!

Maven 支持三种类型的存储库:本地、中央和远程。通常,您添加到 pom.xml 文件的依赖项是从中央存储库中提取的。您可以做的是将您的库编译成一个 jar,并将其放入您的本地存储库中,该存储库可以在以下位置之一找到,具体取决于您的 OS:

  • Windows: C:\用户\\.m2
  • Linux:/home//.m2
  • Mac: /Users//.m2

您可以按如下方式在本地存储库中安装您的 jar:

mvn install:install-file \
   -Dfile=<path-to-file> \
   -DgroupId=<group-id> \
   -DartifactId=<artifact-id> \
   -Dversion=<version> \
   -Dpackaging=<packaging> \
   -DgeneratePom=true

之后,jar 将以镜像 groupId 的文件夹结构复制到您的本地存储库中。由于您提供了自定义 groupIdartifactIdversion,您可以使用它们将依赖项添加到 pom.xml

或者,您可以 add a local repository to your project and install your jar there,然后照常将依赖项添加到您的 pom.xml