Mar*_*rvo 95 oracle jdbc war maven
我似乎无法让Maven将ojdbc6.jar文件捆绑到我的项目的war文件中.在直接为Hibernate工具指定依赖项时,我在POM文件中工作.但它不会与项目的war文件捆绑在一起,因此我的项目不会在Tomcat上运行.
我已经尝试了我可以在网上找到的每个解决方案,包括这里为此问题指定的解决方案:
最近,我做了以下事情:
将jar文件下载到我的机器上
运行以下命令将jar安装到我的本地存储库中:
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=ojdbc6.jar -DgeneratePom=true
Run Code Online (Sandbox Code Playgroud)
(我也尝试过该命令的各种变体.)
最后,我将依赖项放入我的pom文件中:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)我运行一个干净的构建,但它失败了:
mvn -U clean package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building jazztwo 0.0.1
[INFO] ------------------------------------------------------------------------
Downloading: http://repo1.maven.org/maven2/com/oracle/ojdbc6/11.2.0.3/ojdbc6-11.2.0.3.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.700s
[INFO] Finished at: Tue Mar 27 15:06:14 PDT 2012
[INFO] Final Memory: 3M/81M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project jazztwo: Could not resolve dependencies for project edu.berkeley:jazztwo:war:0.0.1: Could not find artifact com.oracle:ojdbc6:jar:11.2.0.3 in central (http://repo1.maven.org/maven2) -> [Help 1]
Run Code Online (Sandbox Code Playgroud)为什么这不起作用?我准备把昂贵的电脑零件扔到房间里.这浪费了很多时间.(谢谢你,甲骨文.我们又赔了多少钱?)
是因为我在Mac上,也许吧?
Ond*_*sky 133
最好将新的Maven存储库(最好使用您自己的工件)添加到项目中,而不是将其安装到本地存储库中.
Maven语法:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
...
<repositories>
<repository>
<id>codelds</id>
<url>https://code.lds.org/nexus/content/groups/main-repo</url>
</repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)
Grails示例:
mavenRepo "https://code.lds.org/nexus/content/groups/main-repo"
build 'com.oracle:ojdbc6:11.2.0.3'
Run Code Online (Sandbox Code Playgroud)
ric*_*mes 40
对于将来阅读此帖子的任何人,您不需要cd到jar存在的目录.这是你需要做的 -
转到你可以运行maven命令的项目文件夹(当你在这个文件夹中执行ls -ltr时,你应该看到pom.xml)
做这个 -
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=<Path where the jar is, example downloads>/ojdbc6.jar -DgeneratePom=true
Run Code Online (Sandbox Code Playgroud)
完成后,您可以在pom.xml中添加依赖项,如下所示 -
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
Mar*_*rvo 24
Raghuram在我的原始问题的评论部分提供了正确的答案.
无论出于何种原因,将"mvn install"指向物理ojdbc6.jar文件的完整路径对我来说不起作用.(或者我在运行命令时一再重复它,但没有发出错误.)
进入我保留ojdb6.jar的目录并从那里运行命令第一次工作.
如果Raghuram想回答这个问题,我会接受他的回答.感谢大家!
小智 5
首先,您需要从Oracle站点下载特定的jar(ojdbc.jar版本11.2.0.3)
如果你将它下载到C:\ filefolder
在cmd提示符下转到该目录并提供以下命令.它将安装依赖项.然后您可以构建项目.
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dpackaging=jar -Dversion=11.2.0.4.0 -Dfile=ojdbc6.jar -DgeneratePom=true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
272685 次 |
| 最近记录: |