I was trying to load a few libraries that my java code needs and I find that whenever there are Impl and extends from other classes, the loadjava does not seem
to find the other classes(even though it is all in the same jar).
resolving: class com/hyperion/css/CSSAPIImpl$RegistryReader
errors : class com/hyperion/css/CSSAPIImpl$RegistryReader
ORA-29534: referenced object SYSTEM.com/hyperion/css/CSSAPIImpl could not be resolved
The load command I used was loadjava -thin -user email@example.com:1533:ag1r12 -resolve -verbose css-9_5_0.jar
Is there a way I can force load them, because at runtime all the jars will be in the database. Because from the error above it seems like dependent classes cannot be together in the same jar and have to be loaded in a certain order?
This error does not mean that that class it refers to failed to be found. Rather is means (as it says) that it could not be resolved. In order to find out why, one needs to look at the errors associate with the class that is referred to. Often this will also be an ORA-29534, but if one chases the chain far enough one should always find some other more seminal error, typically an ORA-29521 Reference name xxx could not be found. This will infact identify a class that was not loaded. Usually that is because the jar being loaded is not transitively closed and the missing classes are not already present.
Sometimes ORA-29534 refers to a class for which there are no matching error found in the loadjava output. This is a bug in loadjava. The error should still be present in the all_errors view in this case.