本文正在参加「Java主题月 – Java Debug笔记活动」,详情查看<活动链接>
提问:如何在Maven仓库中查找Oracle JDBC的驱动程序
我想要将oracle JDBC
作为依赖(运行时有效)加入到我的项目中,在MavenResository
站点中,要放入POM的依赖项是:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.3.0</version>
</dependency>
复制代码
但是,这不起作用,因为这个包不在Maven中央仓库中。
- 我如何找到包含此包的坐标点?
- 我如何将这个包添加到Maven中以使用它?
回答一
无论出于什么原因,我都无法找到上述问题的任何解决方案(还是不行。)
我所做的是将jar包含在我的项目中,然后为它创建一个“系统”依赖项,该依赖项指示jar的路径。这可能不是正确的方法,但确实有效。而且它消除了团队中的其他开发人员(或构建服务器的人员)将jar放在本地存储库中的需要。
更新:当我运行Hibernate工具时,这个解决方案对我有效。但是,它似乎不适用于构建WAR文件。它不包括目标WAR文件中的ojdbc6.jar文件。
1) 在项目的根目录中创建一个名为“lib”的目录。
2) 将ojdbc6.jar文件复制到那里(不管jar叫什么)
3) 创建如下所示的依赖项:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc</artifactId>
<version>14</version>
<scope>system</scope>
<systemPath>${basedir}/lib/ojdbc6.jar</systemPath> <!-- must match file name -->
</dependency>
复制代码
虽然丑陋,但确实有用。
要在war包中包含这些文件,请将以下内容添加到pom文件中:
<build>
<finalName>MyAppName</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>${basedir}/src/main/java</directory>
<targetPath>WEB-INF/classes</targetPath>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.css</include>
<include>**/*.html</include>
</includes>
</resource>
<resource>
<directory>${basedir}/lib</directory>
<targetPath>WEB-INF/lib</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
复制代码
文章翻译自Stack Overflow:stackoverflow.com/questions/1…
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END