gpt4 book ai didi

java - 我怎样才能告诉 Maven 捆绑依赖的 jar

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

我想使用 Jmathplot.jar

我试着把它作为一个依赖

<dependency>
<groupId>jmathplot</groupId>
<artifactId>jmathplot</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/jmathplot.jar</systemPath>
</dependency>

但是在安装的时候出现了这个错误:

Some problems were encountered while building the effective model for com.NResearch:dable-start-tRisk:jar:0.1-SNAPSHOT 
[WARNING] 'dependencies.dependency.systemPath' for jmathplot:jmathplot:jar should not point at files within the project directory, ${project.basedir}/lib/jmathplot.jar will be unresolvable by dependent projects @ line 44, column 19

请问我该如何解决这个问题?

编辑1:

我无法更改 Maven 以将所有依赖的 jar 包含到一个 jar 中。因为这是上传到网络项目。

最佳答案

“Dependent”是使用你的项目,“dependency”是被你的项目使用。

这里真正的错误是 jmathplot.jar 所在的文件夹实际上只能由您的项目可靠地找到。即使您的家属知道如何在本地存储库中找到您的 Artifact ,他们也不知道您的 Artifact 的来源在哪里,因此将无法找到 lib/jmathplot.jar。您可以通过将 systemPath 更改为绝对路径来解决此问题。它仍然可以参数化,但是请使用 properties 而不是隐式属性(例如 ${project.basedir}

最好通过将 jmathplot 安装到公司存储库中来摆脱 systemPath 依赖关系,这样它就可以像“普通” Artifact 一样使用。但是,如果您必须将 Artifact 分发到公司存储库无法访问的地方,那么这可能不是一个有用的选择。如果 jmathplot 得到 deployed to the Maven central repository 就更好了.

作为最后的手段,您可以选择捆绑依赖项(而不是依赖项)。你可以这样做:

关于java - 我怎样才能告诉 Maven 捆绑依赖的 jar ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19640914/

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