Maven在CI / CD上初始化

时间:2019-03-25 15:39:14

标签: java maven continuous-integration bitbucket

嗨,我已经将oracle jdbc jar添加到了我的spring boot项目中。这个想法是jar应该自动添加到m2。我们应该运行项目并进行构建。我们遵循第一种方法来自动安装jar。

http://roufid.com/3-ways-to-add-local-jar-to-maven-project/

它就像一种魅力。但是,当我们在bitbucket管道中运行它时。我们正在得到oracle依赖项未找到错误。由于行家还没有初始化。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

         .....

<dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc7</artifactId>
        <version>12.1.0.2</version>
    </dependency>
       .......

</dependencies>
<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.codehaus.mojo</groupId>
                                    <artifactId>aspectj-maven-plugin</artifactId>
                                    <versionRange>[1.0,)</versionRange>
                                    <goals>
                                        <goal>test-compile</goal>
                                        <goal>compile</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute />
                                </action>
                            </pluginExecution>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>
                                        org.apache.maven.plugins
                                    </groupId>
                                    <artifactId>
                                        maven-install-plugin
                                    </artifactId>
                                    <versionRange>
                                        [2.5,)
                                    </versionRange>
                                    <goals>
                                        <goal>install-file</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute>
                                        <runOnIncremental>false</runOnIncremental>
                                    </execute>
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.5</version>
                <executions>
                    <execution>
                        <phase>initialize</phase>
                        <goals>
                            <goal>install-file</goal>
                        </goals>
                        <configuration>
                            <groupId>com.oracle</groupId>
                            <artifactId>ojdbc7</artifactId>
                            <version>12.1.0.2</version>
                            <packaging>jar</packaging>
                            <file>${project.basedir}/lib/ojdbc7-12.1.0.2.jar</file>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
              ....
            </plugins>
    </pluginManagement>
</build>

我尝试在进行mvn build时在-U下方添加内容,但是没有用。是否可以通过命令触发Maven初始化?

mvn -U -f pom.xml clean install

mvn dependency:resolve -U
mvn -f pom.xml clean install

2 个答案:

答案 0 :(得分:1)

最好的解决方案是拥有自己的Nexus / Artifactory服务器,在该服务器上管理所有工件。然后,您无需在本地安装工件。

答案 1 :(得分:0)

问题似乎出在通过CI / CD管道在编译时调用远程存储库,该依赖关系在编译所需的本地可用。我建议您检查集中存储库的settings.xml并检查jar是否在那里可用。如果需要使用Maven中央存储库,则可以通过maven命令行参数-Dmaven.repo.remote = http://remote-repo

进行传递