Sponsor Request: Running jtreg plugin can fail with NoClassDefFoundError: com/beust/jcommander/ParameterException

Jorn Vernee jorn.vernee at oracle.com
Wed Apr 1 13:34:55 UTC 2020


Hi,

When running a jtreg run configuration with the intellij jtreg plugin I 
am running into:

java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException
     at 
com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:87)
     at 
com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:54)
     at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
     at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.base/java.lang.reflect.Method.invoke(Method.java:564)
     at 
com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
     at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.ClassNotFoundException: 
com.beust.jcommander.ParameterException
     at 
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606)
     at 
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
     ... 8 more

It looks like the jcommander jar is missing from the runtime class path. 
Following change fixes it for me [1]. I've also added the jcov jars just 
in case, since they ship with jtreg, and might also be needed at some 
point, though the particular problem I'm seeing is fixed if I only add 
the jcommander jar.

Thanks,
Jorn

[1]:

diff --git 
a/plugins/idea/src/com/oracle/plugin/jtreg/configuration/JTRegConfigurationRunnableState.java 
b/plugins/idea/src/com/oracle/plugin/jtreg/configuration/JTRegConfigurationRunnableState.java
index d79f503..a813ac9 100644
--- 
a/plugins/idea/src/com/oracle/plugin/jtreg/configuration/JTRegConfigurationRunnableState.java
+++ 
b/plugins/idea/src/com/oracle/plugin/jtreg/configuration/JTRegConfigurationRunnableState.java
@@ -158,6 +158,9 @@ class JTRegConfigurationRunnableState extends 
JavaTestFrameworkRunnableState<JTR
javaParameters.getClassPath().add(jtregSettings.getJTRegDir() + 
"/lib/testng.jar");
javaParameters.getClassPath().add(jtregSettings.getJTRegDir() + 
"/lib/junit.jar");
javaParameters.getClassPath().add(jtregSettings.getJTRegDir() + 
"/lib/asmtools.jar");
+ javaParameters.getClassPath().add(jtregSettings.getJTRegDir() + 
"/lib/jcommander.jar");
+ javaParameters.getClassPath().add(jtregSettings.getJTRegDir() + 
"/lib/jcov.jar");
+ javaParameters.getClassPath().add(jtregSettings.getJTRegDir() + 
"/lib/jcov_network_saver.jar");
      }

      protected void configureRTClasspath(JavaParameters javaParameters, 
Module module) throws CantRunException {



More information about the ide-support-dev mailing list