嗨,我已经将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
答案 0 :(得分:1)
最好的解决方案是拥有自己的Nexus / Artifactory服务器,在该服务器上管理所有工件。然后,您无需在本地安装工件。
答案 1 :(得分:0)
问题似乎出在通过CI / CD管道在编译时调用远程存储库,该依赖关系在编译所需的本地可用。我建议您检查集中存储库的settings.xml并检查jar是否在那里可用。如果需要使用Maven中央存储库,则可以通过maven命令行参数-Dmaven.repo.remote = http://remote-repo
进行传递