2013-10-28 52 views
3

我想用Jmathplot.jar我怎么能告诉Maven的捆绑依赖罐子

我试图把它作为一个依赖

<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包括所有相关的罐子到一个单一的罐子。当这被上传到一个web项目。

+1

使用程序集插件 - > http://stackoverflow.com/a/574650 – Abe

回答

-1

最好的方法是在您的本地存储库上安装依赖项。要做到这一点:使用项目源

1),使用MVN安装到安装到本地仓库

2)如果你没有源代码,用this

希望这有助于

安装到本地存储库

nota:你在围绕这个问题发送垃圾邮件,对吗? (请参阅:JMathPlot what is the Maven dependency code please

+0

这个mvn命令是否需要安装在我的Windows PC上?我可以从命令窗口呼叫吗?我希望我可以在eclipse中做到这一点? – ManInMoon

+0

要安装maven,请参阅[this](http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html) 您可以使用启动配置从Eclipse启动相同的命令 - >新的启动配置 - > maven – Vokail

1

“从属”使用您的项目,“依赖项”用于您的项目。

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

它最好能够摆脱systemPath的依赖,通过安装jmathplot到公司仓库,所以它可以用于都“正常”的假象。但是,这可能不是一个有用的选项,如果你要发布你的神器了贵公司仓库的接触。它甚至会更好,如果jmathplot只想得到deployed to the Maven central repository

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