Jenkins Script Console / Scriptler中的Connector / J MySQL驱动程序 [英] Connector/J MySQL driver in Jenkins Script Console / Scriptler
问题描述
java.lang.ClassNotFoundException:com.mysql.jdbc .Driver
at java.net.URLClassLoader $ 1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass (URLClassLoader.java:205)$ java.util.ClassLoader.loadClass(ClassLoader.java:321
我已经在Jenkins中安装了MySQL数据库插件( https: //wiki.jenkins-ci.org/display/JENKINS/MySQL+Database+Plugin ),但仍然无法通过在Jenkins Console或Scriptler中加载MySQL驱动程序:
import groovy.sql.Sql
Sql.newInstance(jdbc:mysql:// HOST:3306 / DB,USER,PASS, com.mysql.jdbc.Driver)
在我设置了Jenkis下的CLASSPATH后, > Environment variablesto
名称CLASSPATH
值。/ var / lib / jenkins / plugins / database-mysql /WEB-INF/lib/mysql-connector-java-5.1.21.jar
最后,我想出了如何使用MySQL使用Scriptler的JDBC驱动程序:
$ b
- 找出默认的JAVA类路径目录(在Jenkins脚本控制台中运行):
println System.getProperty(java.ext.dirs)
$ $ b
/ usr / lib / jvm / java-7-openjdk-amd64 / jre / lib / ext:/ usr / java / packages / lib / ext $ b
- 将默认Java类路径添加到mysql-connector-java - *。jar:
cp mysql-connector-java - *。jar / usr / java / packages / lib / ext / $ c
- 重新启动Jenki ns
Jenkins作业和Scriptler / Groovy脚本现在可以在没有任何其他参数(如CLASSPATH)的情况下运行。
Jenkins seams to ignore the system CLASSPATH parameter from /etc/environment or /etc/profile.d/jdk.sh. I try to run a Groovy script in Scriptler but i get this error:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321
I have installed the MySQL Database Plugin in Jenkins already (https://wiki.jenkins-ci.org/display/JENKINS/MySQL+Database+Plugin) but still the MySQL driver can not by loaded found in Jenkins Console nor Scriptler:
import groovy.sql.Sql
Sql.newInstance("jdbc:mysql://HOST:3306/DB", "USER", "PASS", "com.mysql.jdbc.Driver")
After i set the CLASSPATH under Jenkis "Global properties" > "Environment variables" to
Name CLASSPATH
Value .:/var/lib/jenkins/plugins/database-mysql/WEB-INF/lib/mysql-connector-java-5.1.21.jar
Jenkins is able to run Jobs but still Jenkins Script Console / Scriptler can not find the jar file.
Finaly i figured out how to use MySQL JDBC driver with Scriptler:
- Find out the default JAVA classpath dirs (run in Jenkins Script Console):
println System.getProperty("java.ext.dirs")
/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext:/usr/java/packages/lib/ext
- Download an add mysql-connector-java-*.jar to default Java classpath:
cp mysql-connector-java-*.jar /usr/java/packages/lib/ext/
- Restart Jenkins
Jenkins jobs and Scriptler / Groovy scripts should now work without any additional parameter like CLASSPATH.
这篇关于Jenkins Script Console / Scriptler中的Connector / J MySQL驱动程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!