我不惊讶没有添加系统范围的依赖关系(毕竟,必须通过定义显式提供具有系统范围的依赖关系)。实际上,如果您真的不想将该依赖项放在本地存储库中(例如,因为您想将其作为项目的一部分进行分发),这就是我要做的:
我将依赖项放在项目本地的“文件系统存储库”中。
我会这样声明该存储库pom.xml:
<repositories> <repository> <id>my</id> <url>file://${basedir}/my-repo</url> </repository></repositories>我只是声明没有system范围的工件,这只是麻烦的根源:
<dependency> <groupId>sourceforge.jchart2d</groupId> <artifactId>jchart2d</artifactId> <version>3.1.0</version></dependency>
我不确定100%会满足您的需求,但我认为这是比使用系统范围更好的解决方案。
更新:我应该在原始答案中提到这一点,现在正在修复它。要在基于文件的存储库中安装第三方库,请install:install-file与localRepositoryPath参数一起使用:
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<myGroup> -DartifactId=<myArtifactId> -Dversion=<myVersion> -Dpackaging=<myPackaging> -DlocalRepositoryPath=<path-to-my-repo>
您可以将其粘贴在* nix shell中。在Windows上,删除“ ”并将所有内容放在一行中。



