包装maven项目与外部jar

时间:2016-09-13 15:50:37

标签: maven intellij-idea jar

我一直在尝试从我的项目(在Intellij IDEA中)创建一个可运行的jar,它依赖于oracle(driver - > ojdbc6)jar。当我用所有依赖项打包项目时,唯一将被排除的是jar。这意味着当我运行它时,我的数据库查询将失败。 我发现了几个类似的问题*,但是我没有执行它们,因为我不知道oracle jar的groupid和artifact id。

*喜欢这个:build maven project with propriatery libraries included

p.s。:通过IDEA的功能(项目结构 - >模块)添加了jar,并且使用此解决方案,项目可以无故障地运行。问题始于包装。

1 个答案:

答案 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和版本号是唯一的。

长期解决方案:

  1. 将jar文件下载到您的计算机上。
  2. 使用提示导航到您下载jar的文件夹。
  3. 运行以下命令将jar安装到本地存储库。
  4. mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=ojdbc6.jar -DgeneratePom=true

    1. 最后,将依赖项添加到pom.xml。

      <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.3</version> </dependency>

    2. 另外,在运行项目时不要忘记使用-U选项。