While helping an ECL developer set up an embedded java project, it became apparent that the following issues should be documented:
- A compatible Libjvm.so must be accessible, specify the libjvm.so location in /etc/HPCCSystems/environment.conf JNI_PATH=/absolute/path/to/alternative/libjvm.so
- When targeting custom classes, all dependencies must be accessible by declaring their location on the classpath, or including in the host jar file
- Custom java classes should be built using compatible JAVA versions, to check you’re the java version used to build a given class use javap: javap -verbose MyClass | grep "major"
- When targeting a given method, ensure the signature declared in the embedded java section matches the actual method signature. Use javap: javap –s MyClass
Conclusion
None
Activity
Show:
Rodrigo Pastrana March 14, 2022 at 5:26 PM
bump for
This issue is still relevant, as evident by recent long conversation regarding baremetal env w/ multiple Java versions.
The feature should be used when target environment either has no default Java, or default is not the desired Java version.
Rodrigo Pastrana March 14, 2022 at 5:12 PM
bump.
Related to long offline conversation regarding mismatching Java environments.
Rodrigo Pastrana July 14, 2016 at 1:50 PM
Fixed
Pinned fields
Click on the next to a field label to start pinning.
While helping an ECL developer set up an embedded java project, it became apparent that the following issues should be documented:
- A compatible Libjvm.so must be accessible, specify the libjvm.so location in /etc/HPCCSystems/environment.conf JNI_PATH=/absolute/path/to/alternative/libjvm.so
- When targeting custom classes, all dependencies must be accessible by declaring their location on the classpath, or including in the host jar file
- Custom java classes should be built using compatible JAVA versions, to check you’re the java version used to build a given class use javap: javap -verbose MyClass | grep "major"
- When targeting a given method, ensure the signature declared in the embedded java section matches the actual method signature. Use javap: javap –s MyClass