plaidshirt
plaidshirt

Reputation: 5671

install4j throw java.lang.NoClassDefFoundError: com.install4j.runtime.beans.screens.SystemFormScreen error

I try to install JRuby - which uses install4j installer - on Windows 10 64 bit OS. Java runtime version: 1.8.0_171-b11. I get following error message in log file during installation process and install is terminated.

java.lang.RuntimeException: java.lang.NoClassDefFoundError: com.install4j.runtime.beans.screens.SystemFormScreen
    at com.install4j.runtime.installer.frontend.GUIHelper.invokeOnEDT(GUIHelper.java:711)
    at com.install4j.runtime.installer.config.AbstractBeanConfig.finishBatch(AbstractBeanConfig.java:51)
    at com.install4j.runtime.installer.ContextImpl.registerScreens(ContextImpl.java:694)
    at com.install4j.runtime.installer.controller.Controller.start(Controller.java:75)
    at com.install4j.runtime.installer.Installer.runInProcess(Installer.java:58)
    at com.install4j.runtime.installer.Installer.main(Installer.java:45)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:85)
    at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:94)
    at com.install4j.runtime.launcher.WinLauncher.main(WinLauncher.java:25)
Caused by: java.lang.NoClassDefFoundError: com.install4j.runtime.beans.screens.SystemFormScreen
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.privateGetPublicMethods(Unknown Source)
    at java.lang.Class.getMethods(Unknown Source)
    at com.sun.beans.finder.MethodFinder$1.create(Unknown Source)
    at com.sun.beans.finder.MethodFinder$1.create(Unknown Source)
    at com.sun.beans.util.Cache.get(Unknown Source)
    at com.sun.beans.finder.MethodFinder.findMethod(Unknown Source)
    at java.beans.Statement.getMethod(Unknown Source)
    at java.beans.Statement.invokeInternal(Unknown Source)
    at java.beans.Statement.access$000(Unknown Source)
    at java.beans.Statement$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.beans.Statement.invoke(Unknown Source)
    at java.beans.Expression.getValue(Unknown Source)
    at com.sun.beans.decoder.ObjectElementHandler.getValueObject(Unknown Source)

Upvotes: 2

Views: 2515

Answers (1)

In your case JVM uses options which cannot be used by Ruby/SoapUI correctly.

  • JAVA_OPTIONS
  • IBM_JAVA_OPTIONS
  • JAVA_TOOL_OPTIONS

To work around the issue, you can do the following:

  • Use Task Manager to completely close the HP UFT and/or Oracle Single Sign-On software or service.
  • Remove the JAVA_TOOL_OPTIONS, IBM_JAVA_OPTIONS and _JAVA_OPTIONS OS environment variables.

Also before removing the "JAVA_TOOL_OPTIONS, IBM_JAVA_OPTIONS and _JAVA_OPTIONS" kindly save the information in Notepad. Once after installing, again add"JAVA_TOOL_OPTIONS, IBM_JAVA_OPTIONS and _JAVA_OPTIONS" to your Environmental variables else HPUFT or Oracle SSO will have issue while launching.

else create a bat file and call your installer in the below content and execute the bat file [Jrubyinstall.bat (any prefered filename)] place the batfile in same folder as your installer is placed.

  • set IBM_JAVA_OPTIONS=
  • set _JAVA_OPTIONS=
  • set JAVA_TOOL_OPTIONS=
  • jruby_windows_9_2_8_0.exe

[Optional --- only if you required to launch it

The above solution is to Install the application, But to execute it, create a bat file in place of installation [mostly in bin folder]

inside the Bat file:

  • set IBM_JAVA_OPTIONS=
  • set _JAVA_OPTIONS=
  • set JAVA_TOOL_OPTIONS=
  • [your executable file] xxx.exe/jar/...

and save it. every time you can launch the application via BAT file. ]

Upvotes: 1

Related Questions