我的基本路径下的文件夹/ src / main / resources / foobar中有一些本地jar文件。
我将它们作为依赖项包含在我的POM.xml中:
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.4-SNAPSHOT</version>
</dependency>
现在我尝试使用本地存储库添加它们:
<repositories>
<repository>
<id>resource-repository</id>
<url>file://${project.basedir}/repo</url>
</repository>
</repositories>
现在我仍然收到错误消息,指出此回复内的罐子没有找到:
The following artifacts could not be resolved: bar... in file://.../repo was cached in the local repository, resolution will not be reattempted until the update interval of resource-repository has elapsed or updates are forced -> [Help 1]
我没有使用
mvn install:install-file
命令。如果有一个我不需要这样做的解决方案,我会很高兴。
编辑:
文件夹结构为:
repo\io\swagger\swagger-models\1.5.4-SNAPSHOT
和罐子里面:
swagger-models-1.5.4-SNAPSHOT.Jar
很有趣虽然我在运行maven install时会收到有关此文件中缺少POM的警告。
答案 0 :(得分:2)
您可以为第三方依赖项声明存储库。
必须将依赖项放在repoBase路径中,并且jar的目录必须遵循以下模式:&#34; {groupId} / {artifactId} / {artifactVersion}&#34;。在这个文件夹中,jar必须命名为&#34; {artifactId} - {artifactVersion} .jar&#34;。
示例:
<dependencies>
<dependency>
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>resource-repository</id>
<url>file:${project.basedir}/repo</url>
</repository>
我在我的pom中有这个(当然还有project-tag和group-id等)
然后我在我的项目目录中有一个目录仓库
在路径&#34; repo \ foo \ bar \ 1.0&#34;然后我有一个&#34; bar-1.0.jar&#34;该目录中的文件。这为我编译(好吧,jar是空的,但这对一个例子来说无关紧要。)
请注意,存储库的URL在&#34;文件之后不包含两个斜杠:&#34;。
我希望这个例子对于那些尝试这个的人来说更容易理解。
答案 1 :(得分:0)
我建议你在依赖标签中使用系统标签。希望它能奏效。