2017-07-13 14 views
0

scriptlerプラグイン経由でjenkinsでgroovyスクリプトを使用してmysql dbに接続しようとしています。 jdbc mysqlコネクタを同じものに使用しています。jenkins scriptlerのgroovyスクリプトが動作しません。クラスパスの問題

mysqlコネクタjarファイルは、jenkinsが実行されているマシンのクラスパスに存在します。 ジェンキン用のマシンは1台だけです。以下

コードスニペットです:

import java.sql.* 
import groovy.sql.Sql 
DriverManager.registerDriver(new com.mysql.jdbc.Driver()) 

try{ 
    def dbURL = 'jdbc:mysql://x.x.x.x:3306/Employee_DB' 
    def dbUserName = 'root' 
    def dbPassword = 'root' 
    def dbDriver = 'com.mysql.jdbc.Driver' 
    def db = Sql.newInstance(dbURL,dbUserName,dbPassword,dbDriver) 
    List authors = db.rows('SELECT name FROM Employee') 
    print authors 

}catch(Exception e){ 
    print "exception" 
}finally{ 
    //db.close() 
} 

しかし、例外が言っ取得:コードの

Script1.groovy: 5: unable to resolve class com.mysql.jdbc.Driver 
@ line 5, column 30. 
DriverManager.registerDriver(new com.mysql.jdbc.Driver()) 

同じ部分を

groovy 1.groovy 

実行が成功したように実行した場合。

しかし、jenkins scriptlerはこのjarファイルを検出できません。

in manager jenkins - >システム情報では、システム環境変数も設定されています。

ヘルプが必要です。

+0

に役立ちます上記のパスでのJDBC jarファイルを追加し、ジェンキンスに

希望を再起動します.registerDriver(新しいcom.mysql.jdbc.Driver()) 'は、ドライバがクラスパス上にあり、JDBC 4+ドライバであれば自動的にロードされます。 JDBCドライバは自身を 'DriverManager'に登録します。 –

答えて

0

環境変数やJenkins定義の変数を読み込まないバグがJenkinsからあります。これは、Javaのネイティブパスを考慮しています。これは、/usr/lib/jvm/java-1.8.0-openjdk- 1.8.0.65-3.b17.el7.x86_64/JRE/libに/ extに

ので、これはあなたがDriverManagerの `呼び出してはなりません

関連する問題