pan*_*icz 0 mysql groovy jenkins
Jenkins接缝忽略来自/ etc/environment或/etc/profile.d/jdk.sh的系统CLASSPATH参数.我尝试在Scriptler中运行Groovy脚本,但是我收到此错误:
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
Run Code Online (Sandbox Code Playgroud)
我已经在Jenkins中安装了MySQL数据库插件(https://wiki.jenkins-ci.org/display/JENKINS/MySQL+Database+Plugin),但仍然无法通过在Jenkins控制台和Scriptler中找到的MySQL驱动程序加载:
import groovy.sql.Sql
Sql.newInstance("jdbc:mysql://HOST:3306/DB", "USER", "PASS", "com.mysql.jdbc.Driver")
Run Code Online (Sandbox Code Playgroud)
在我将Jenkis"全局属性">"环境变量"下的CLASSPATH设置为
Name CLASSPATH
Value .:/var/lib/jenkins/plugins/database-mysql/WEB-INF/lib/mysql-connector-java-5.1.21.jar
Run Code Online (Sandbox Code Playgroud)
Jenkins能够运行Jobs,但Jenkins Script Console/Scriptler仍无法找到jar文件.
pan*_*icz 12
最后我想出了如何在Scriptler中使用MySQL JDBC驱动程序:
println System.getProperty("java.ext.dirs")
/ usr/lib中/ JVM/JAVA -7-的openjdk-AMD64/JRE/lib/ext目录:在/ usr/JAVA /包/ lib/ext目录
cp mysql-connector-java-*.jar /usr/java/packages/lib/ext/
Jenkins jobs和Scriptler/Groovy脚本现在可以在没有任何其他参数(如CLASSPATH)的情况下工作.