我一直在尝试从我的项目(在Intellij IDEA中)创建一个可运行的jar,它依赖于oracle(driver - > ojdbc6)jar。当我用所有依赖项打包项目时,唯一将被排除的是jar。这意味着当我运行它时,我的数据库查询将失败。 我发现了几个类似的问题*,但是我没有执行它们,因为我不知道oracle jar的groupid和artifact id。
*喜欢这个:build maven project with propriatery libraries included
p.s。:通过IDEA的功能(项目结构 - >模块)添加了jar,并且使用此解决方案,项目可以无故障地运行。问题始于包装。
答案 0 :(得分:0)
简短解决方案:尝试使用以下内容:
<dependency>
<groupId>LIB_NAME</groupId>
<artifactId>LIB_NAME</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${basedir}/WebContent/WEB-INF/lib/YOUR_LIB.jar</systemPath> // give the path where your jar is present
</dependency>
确保groupId,artifactID和版本号是唯一的。
长期解决方案:
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=ojdbc6.jar -DgeneratePom=true
最后,将依赖项添加到pom.xml。
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
另外,在运行项目时不要忘记使用-U选项。