动态地将文件安装到Maven repo
我正在运行Maven 3.0.3。我有一个JAR,它不是任何在线存储库的一部分。我将其保存在项目的lib/quickbase.jar中。理想情况下,在构建项目时,我希望将其自动安装到本地repo,而不必首先运行“mvn安装:安装文件”。我找到了这个,并将它包含在我的pom.xml中动态地将文件安装到Maven repo,maven,dependencies,Maven,Dependencies,我正在运行Maven 3.0.3。我有一个JAR,它不是任何在线存储库的一部分。我将其保存在项目的lib/quickbase.jar中。理想情况下,在构建项目时,我希望将其自动安装到本地repo,而不必首先运行“mvn安装:安装文件”。我找到了这个,并将它包含在我的pom.xml中 <plugin> <groupId>org.apache.maven.plugins</g
<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>
是否可以动态安装此依赖项?如果可以,我如何调整上述内容?最好的解决方案是只将此文件安装到本地存储库中一次(命令行mvn install:install file),但最好的解决方案是将其放入存储库管理器中,然后作为常规依赖项使用
您可以尝试更改安装插件的生命周期阶段,可能是“生成源代码”或“初始化”之类的更早版本,但我认为这也行不通。我认为不可能动态安装依赖项,因为Maven会在开始生命周期阶段之前检查依赖项,但请看另一个解决方案。我可能要求做一些不可能的事情——如果是这样的话,请告诉我。我试图改变生命周期阶段,但没有成功。这是我所期望的。因此,最好的解决方案是手动将文件安装到本地存储库中,但更好的方法是使用存储库管理器。
<dependency>
<groupId>quickbase</groupId>
<artifactId>quickbase</artifactId>
<version>1.0</version>
</dependency>
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,