分享到:

Unlimax 问答平台已经迁移到 http://answers.unlimax.com ,新的问答平台搜索答案更加方便,赶快试试吧。



JIRA演示站点
Confluence演示站点
Unlimax站点
Unlimax微博





1,484 问题

1,783 回复

1,947 评论

191,134 用户

"java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver" 报错

0 投票

 

我在使用behaviours插件时,想通过一个groovy类去访问JIRA的oracle数据库,但是出现了以下错误:

 

java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver

这个driver的jar文件已经放在了lib路径中,通过script runner执行以下脚本时也能正确生成结果:

 

import groovy.sql.Sql
import com.atlassian.jira.ComponentManager

Sql sql = Sql.newInstance("jdbc:oracle:thin:@localhost:1521:orcl",
    "mizan", "mizan", "oracle.jdbc.OracleDriver")
def sqlString="select * from parent where parent='TP_1.0.0'"

List row = sql.rows(sqlString)

return row.parent

 

但是当我在behaviours插件中运行groovy类时却得到错误提示。

这可能是什么原因造成的?必须要导入一些包么?或者必须把oracle-jdbc的jar文件放到其他路径中?

下面是我的groovy类:

 

import groovy.sql.Sql
public class Test extends FieldBehaviours {

public void setTest() {
	
    FormField formComponent = getFieldById(fieldChanged)
    FormField formSubcomponent = getFieldByName("Test1")
 
    Object componentFormValue = formComponent.getFormValue()
	Sql sql = Sql.newInstance("jdbc:oracle:thin:@localhost:orcl",
    "mizan", "mizan", "oracle.jdbc.OracleDriver");
时间: 2012年 9月 10日 分类:第三方插件 作者: david 武士学徒 (460 积分)

1个回答

0 投票

 

这是类加载器错误。如果oracle的jar文件像MySQL一样,是有效的OSGi bundle,那就相对简单了。我怀疑它不是。

 

我想你可以需要重新build这个插件,这里有一个相同的问题供参考:https://studio.plugins.atlassian.com/browse/JBHV-113

 

建议你在script runner中测试一下sql,同时请在pom中加上提到的依赖,然后重新build。

已回复 2012年 9月 11日 作者: Kenny Jin [Unlimax] 终极原力 (42,570 积分)