我想使用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
我怎么能绕过这个呢?
EDIT1:
我无法改变Maven将所有依赖的jar包含在一个jar中。这被上传到网络项目。
答案 0 :(得分:1)
“Dependent”正在使用您的项目,您的项目使用“依赖”。
这里的真正错误是jmathplot.jar
位于一个文件夹中,您的项目实际上只能找到它。即使您的家属知道如何在本地存储库中找到您的工件,他们也不会知道工件的源位置,因此无法找到lib/jmathplot.jar
。您可以通过将systemPath
更改为绝对路径来解决此问题。它仍然可以参数化,但请使用properties
而不是隐式属性(例如${project.basedir}
。
最好通过将systemPath
安装到公司存储库中来摆脱jmathplot
依赖关系,因此可以使用类似“普通”的工件。但是,如果您必须将工件分发到公司存储库的范围之外,那么这可能不是一个有用的选项。如果jmathplot
只获得deployed to the Maven central repository,那就更好了。
作为最后的手段,您可以选择捆绑依赖项(而非依赖项)。你可以这样做:
jmathplot
(而不是其他依赖项)。dependencySets.dependencySet.scope=system
设置为仅包含给您带来麻烦的system
依赖项。答案 1 :(得分:-1)
最好的方法是在本地存储库上安装依赖项。要做到这一点:
1)使用项目源,使用mvn install
安装到本地存储库2)如果您没有源代码,请使用this
安装到本地存储库希望有所帮助
nota:你在围绕这个问题发垃圾邮件,对吗? (见这里:JMathPlot what is the Maven dependency code please)