Embedded Java Documentation

Description

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.

Details

Components

Assignee

Reporter

Priority

Compatibility

Point

Fix versions

Pull Request URL

Affects versions

Created July 14, 2016 at 1:28 PM
Updated March 16, 2022 at 1:06 PM
Resolved March 16, 2022 at 1:06 PM