在没有mvn install的情况下添加maven本地dependecies:install-file

时间:2015-10-23 08:27:56

标签: java maven build dependencies

我的基本路径下的文件夹/ 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的警告。

2 个答案:

答案 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)

我建议你在依赖标签中使用系统标签。希望它能奏效。