Hello,

This post is about Composer (log, JDK/JRE), the famous Eclipse-based tool used to create/modify custom type, job/method, BOF, aspects,…etc via Documentum Project.

Composer Log
First, during the use of Composer for compilation, building or deployment of Documentum Project, the C:\temp\documentum\ (or /tmp/documentum/) contains the log files named dctm_tools_xxxxxxxx.log:

 
 
Composer JDK/JRE
Secondly, like Eclipse, Composer allows the configuration of JDK/JRE used:

  • It is possible to specify the JDK used of Composer project in project properties:

     
  • It is also possible to define the default JRE used for projects in Composer Preferences:

     

 


 

ERRORs:
The following errors are displayed if the JRE version on target docbase is incompatible/inconsistent with the Composer project’s JRE.
 
Error 1: deployment error
The following error “java.lang.UnsupportedClassVersionError: … : Unsupported major.minor version 51.0” occurs during the deployment of a project via Composer or Dardeployer:

 
…the detail of UnsupportedClassVersionError error is visible in Composer log file:

...
[INFO] Java version:   1.6.0_45 (64 bit)
[INFO] Java home:      C:\Program Files\Java\jre6
...
...
[INFO] DematDClient install failed.
[FATAL] An unexpected error has occurred during installation
For more details, check the most recent error log located by default in 'C:\temp\documentum\'.
[ERROR] com.emc.ide.logger.defaultimpl.DmLoggerDefault::getDefaultThrowableMessage (line 100)
com.emc.ide.installer.InstallException: Unexpected error occurred during install.
	at internal.com.emc.ide.installer.DarInstaller.handleNetworkException(DarInstaller.java:753)
	...
Caused by: java.lang.UnsupportedClassVersionError: com/huo/java/lu/persistence/documentum/bof/FinishMethod : Unsupported major.minor version 51.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	...

 
 
Error 2: runtime error
The following error “java.lang.UnsupportedClassVersionError: Bad version number in .class file” occurs during the runtime for example, when the execution of a method via DQL:

2017-01-07 16:37:28,677 INFO  [STDOUT] 2017-01-07 16:37:28,677 ERROR [http-0.0.0.0-9080-2] org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/DmMethods].[DoMethod] - "Servlet.service()" pour la servlet DoMethod a généré une exception
java.lang.UnsupportedClassVersionError: Bad version number in .class file
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:620)

 
For information, below the major.minor version of JRE/JDK:

  • J2SE 8 = 52
  • J2SE 7 = 51
  • J2SE 6.0 = 50
  • J2SE 5.0 = 49
  • JDK 1.4 = 48
  • JDK 1.3 = 47
  • JDK 1.2 = 46
  • JDK 1.1 = 45

 


 
SOLUTION:
Client / Composer IDE

  • Check the JRE/JDK version used during the compilation of Documentum project in Project Properties:


     
  • Check the default JRE/JDK version to use for the compilation of Documentum project in the Preferences of Composer:

     

     

 
DCTM Server

  • Check the JDK/JRE version on the DCTM server in the boot.log file available in the folder [DCTM_INSTALL_FOLDER]\jbossx.y.z\server\DctmServer_MethodServer\log:

     
  • Check the JDK/JRE version on the DCTM server via the java command : java -version
     

 
 
Action to do