我正在运行Maven 3.0.3。我有一个不属于任何在线存储库的JAR。我把它保存在我项目的lib / quickbase.jar中。理想情况下,在构建项目时,我希望将其自动安装到本地仓库,而不必先运行“mvn install:install-file”。我发现了这个,并把它包含在我的pom.xml中......
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<executions>
<execution>
<id>install-quickbase-jar</id>
<phase>compile</phase>
<configuration>
<file>${basedir}/lib/quickbase.jar</file>
<repositoryLayout>default</repositoryLayout>
<groupId>quickbase</groupId>
<artifactId>quickbase</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<generatePom>true</generatePom>
</configuration>
<goals>
<goal>install-file</goal>
</goals>
</execution>
</executions>
</plugin>
我的pom中的依赖是
<dependency>
<groupId>quickbase</groupId>
<artifactId>quickbase</artifactId>
<version>1.0</version>
</dependency>
但是,运行Maven导致
mvn clean test
...
[ERROR] Failed to execute goal on project didoclient: Could not resolve dependencies for project org.mainco.myco:didoclient:jar:1.0-SNAPSHOT: The following artifacts could not be resolved: quickbase:quickbase:jar:1.0,
是否可以动态安装此依赖项,如果是这样,我该如何调整上述内容?
答案 0 :(得分:0)
最好的解决方案是只将此文件安装到本地存储库(命令行mvn install:install-file)一次,但最好的解决方案是将其放入存储库管理器中,然后可以将其用作通常的依赖项。 / p>
您可以尝试更改安装插件的生命周期阶段可能是生成源或更早,如初始化,但我认为这也不起作用。