gpt4 book ai didi

java - 向 Maven 添加系统依赖

转载 作者:行者123 更新时间:2023-12-03 23:18:03 25 4
gpt4 key购买 nike

我正在通过 Maven 使用 Apache Spark,我正在尝试通过包含第 3 方 jar 并尝试在其中使用一些方法来修改源代码。

使用编译Spark项目时出现如下错误

mvn -Dhadoop.version=2.2.0 -Dscala-2.11 -DskipTests clean package
not found: object edu
[ERROR] import edu.xxx.cs.aggr._

我修改了 ResultTask.scala 以包含导入语句。因此,maven 无法找到我正在尝试使用的 jar 并将其与项目链接。

我在 pom.xml 文件中添加了一个依赖项,如下所示:

<dependency>
<groupId>edu.xxx.cs</groupId>
<artifactId>aggr</artifactId>
<version>0.99</version>
<scope>system</scope>
<systemPath>${basedir}/aggr.jar</systemPath>
</dependency>

我尝试链接的 jar 文件与 spark pom.xml 文件位于同一目录中。我将此依赖项添加到 pom.xml。我将它插入到 pom.xml 文件中的 2 个现有依赖项之间。我不确定出了什么问题,但我只想暂时链接 jar,以便我可以使用其中的方法。我也不确定我是否应该使用特定于 groupId、artifactId 和版本的任何内容。 edu.xxx.cs.aggr 是包含其他源文件和包的根包。我将不胜感激任何帮助。

更新

我用过

mvn install:install-file -Dfile=<path-to-file> -DgroupId=edu.xxx.cs -DartifactId=aggr -Dversion=0.99 -Dpackaging=jar to install the jar to the .m2 repo. I checked the repo to see if it was installed, and it was.

我把pom.xml中的依赖改成了

<dependency>
<groupId>edu.purdue.cs</groupId>
<artifactId>aggr</artifactId>
<version>0.99</version>
</dependency>

我仍然遇到同样的错误。

最佳答案

这就是我将系统依赖项添加到我的 maven pom.xml 的方式。在项目根路径中,我创建了 lib 目录,并在那里放置了我的 jar 文件。

<dependency>
<groupId>com.sshx</groupId>
<artifactId>sshx</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/sshxcute-1.0.jar</systemPath>
</dependency>

如果您仍然遇到同样的问题,请尝试通过从 jar 文件位置发出以下命令来手动添加依赖项

mvn install:install-file -Dfile=sshxcute-1.0.jar -DgroupId=com.sshx -DartifactId=sshx -Dversion=1.0 -Dpackaging=jar

此命令会将 jar 作为依赖项添加到您的 .m2 存储库中,您需要按如下方式更改 pom.xml 依赖项:

<dependency>
<groupId>com.sshx</groupId>
<artifactId>sshx</artifactId>
<version>1.0</version>
</dependency>

完成后,从命令提示符发出 mvn clean install 命令并构建您的应用程序。

但是,另一种选择是创建本地存储库。看到这个线程: How to include local jar files in Maven project

关于java - 向 Maven 添加系统依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30347310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com