FATAL: Could not initialize class hudson.util.ProcessTree$UnixReflection
java.lang.NoClassDefFoundError: Could not initialize class hudson.util.ProcessTree$UnixReflection
at hudson.util.ProcessTree$UnixProcess.kill(ProcessTree.java:647)
at hudson.util.ProcessTree$UnixProcess.killRecursively(ProcessTree.java:668)
at hudson.util.ProcessTree$UnixProcess.killRecursively(ProcessTree.java:667)
at hudson.util.ProcessTree$Unix.killAll(ProcessTree.java:589)
at hudson.Launcher$LocalLauncher.kill(Launcher.java:949)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:502)
at hudson.model.Run.execute(Run.java:1737)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:421)
Jenkins ver。 2.73.3 MACOSX
进行iOS构建并上传到hockeyapp。 .ipa创建成功,错误似乎发生后,似乎在hockeyapp上传。我有一个可以正常工作的android项目并成功上传到hockeyapp。
在更新Jenkins和插件后立即开始获取此信息。以前工作过。
有什么想法吗?
答案 0 :(得分:2)
Build step 'Invoke Gradle script' changed build result to SUCCESS
FATAL: Could not initialize class
hudson.util.ProcessTree$UnixReflection
java.lang.NoClassDefFoundError: Could not initialize class
hudson.util.ProcessTree$UnixReflection
at hudson.util.ProcessTree$UnixProcess.kill(ProcessTree.java:647)
at hudson.util.ProcessTree$UnixProcess.killRecursively(ProcessTree.java:668)
at hudson.util.ProcessTree$Unix.killAll(ProcessTree.java:589)
at hudson.Launcher$LocalLauncher.kill(Launcher.java:949)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:510)
at hudson.model.Run.execute(Run.java:1724)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:421)
Finished: FAILURE
首先成功然后失败,嗯weeeird
我记得最近我已经安装了java 9进行实验,但仍然将java 8设置为usl / libexec / java_home,在我的.zshrc中如下:
export JAVA_HOME=`/usr/libexec/java_home -v 1.8.0_152`
但这根本没有用,所以我跟Java 9说再见
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk
然后去管理Jenkins - >配置系统 - >环境变量 并添加了
/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home
作为JAVA_HOME
在詹金斯重新启动我的构建后,像魅力一样运行
答案 1 :(得分:0)
在使用Java 8的同时,擦除Jenkins上的当前工作区可以解决我的错误。更新gradle和sonarqube插件版本后出错。
答案 2 :(得分:0)
我们已经在旧的Jenkins服务器上间歇性地看到了这一点,我认为我们已经对其进行了跟踪。当作业运行后还剩下后台进程时,就会发生这种情况,并且可以使用此作业脚本轻松复制该后台进程:
$bodyContent
错误sleep 30 &
exit 0
来自此静态初始化程序:
Could not initialize class hudson.util.ProcessTree$UnixReflection
在Java 8中 static {
try {
Class<?> clazz = Class.forName("java.lang.UNIXProcess");
PID_FIELD = clazz.getDeclaredField("pid");
PID_FIELD.setAccessible(true);
if (isPreJava8()) {
DESTROY_PROCESS = clazz.getDeclaredMethod("destroyProcess",int.class);
} else {
DESTROY_PROCESS = clazz.getDeclaredMethod("destroyProcess",int.class, boolean.class);
}
DESTROY_PROCESS.setAccessible(true);
} catch (ClassNotFoundException e) {
LinkageError x = new LinkageError();
x.initCause(e);
throw x;
} catch (NoSuchFieldException e) {
LinkageError x = new LinkageError();
x.initCause(e);
throw x;
} catch (NoSuchMethodException e) {
LinkageError x = new LinkageError();
x.initCause(e);
throw x;
}
}
的签名已更改。Java9及更高版本可能进行了进一步更改。您将需要一个Jenkins想要在该类中找到的JDK。