我的项目中具有以下Maven依赖项:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.5.0</version>
<scope>system</scope>
<systemPath>/Users/alex/code/scratch/src/assets/ojdbc14.jar</systemPath>
</dependency>
在IntelliJ IDE中进行构建时,它可以按预期运行,并且可以按预期与Oracle DB进行交互。
但是,当我尝试使用以下命令在CLI中进行构建时:
mvn clean compile assembly:single
构建将完成,但是运行.jar时,我得到以下信息:
Exception occurred: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
我不太确定为什么可以在IntelliJ中使用依赖项,但不能在编译时使用它。
作为参考,这也是我的程序集插件配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<finalName>scratch</finalName>
<archive>
<manifest>
<mainClass>scratch.Scratch</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</plugin>
如何更改设置,以便将ojdbc14.jar打包到项目的构建中。还是我必须始终将依赖的jar与jar一起提供?
编辑:我也尝试了以下方法
mvn install:install-file -Dfile=src/assets/ojdbc14.jar -DgroupId=com.oracle -DartifactId=oracle -Dversion=10.2.0.5.0 -Dpackaging=jar -DgeneratePom=true
输出:
--- maven-install-plugin:2.4:install-file (default-cli) @ scratch ---
[INFO] Installing /Users/alex/code/scratch/src/assets/ojdbc14.jar to /Users/alex/.m2/repository/com/oracle/oracle/10.2.0.5.0/oracle-10.2.0.5.0.jar
[INFO] Installing /var/folders/0w/3mt249xn54d88n7zptdbjjbh0000gn/T/mvninstall4687156200536752767.pom to /Users/alex/.m2/repository/com/oracle/oracle/10.2.0.5.0/oracle-10.2.0.5.0.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
答案 0 :(得分:0)
您的本地存储库中可能存在缓存问题。
/Users/alex/.m2/repository/com/oracle/oracle/10.2.0.5.0/
install:install-file
。mvn clean install