Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态地将文件安装到Maven repo_Maven_Dependencies - Fatal编程技术网

动态地将文件安装到Maven repo

动态地将文件安装到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

我正在运行Maven 3.0.3。我有一个JAR,它不是任何在线存储库的一部分。我将其保存在项目的lib/quickbase.jar中。理想情况下,在构建项目时,我希望将其自动安装到本地repo,而不必首先运行“mvn安装:安装文件”。我找到了这个,并将它包含在我的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>

是否可以动态安装此依赖项?如果可以,我如何调整上述内容?

最好的解决方案是只将此文件安装到本地存储库中一次(命令行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,