Discussions
Categories
- 196.9K All Categories
- 2.2K Data
- 239 Big Data Appliance
- 1.9K Data Science
- 450.3K Databases
- 221.7K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 550 MySQL Community Space
- 478 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 545 SQLcl
- 4K SQL Developer Data Modeler
- 187K SQL & PL/SQL
- 21.3K SQL Developer
- 295.9K Development
- 17 Developer Projects
- 138 Programming Languages
- 292.6K Development Tools
- 107 DevOps
- 3.1K QA/Testing
- 646K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 155 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 18 Java Essentials
- 160 Java 8 Questions
- 86K Java Programming
- 80 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 204 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 440 LiveLabs
- 38 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 171 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 232 Portuguese
C++ JNI 1_8 - Difficulty executing jar (missing class loads)

I have a jar that I can execute normally using java.exe Trying to execute this jar from a JNI-using C++ project I hit error after error.
Configuration:
WIndows 8Visual Studio 2017Netbeans 8.2JRE/JDK: jdk1.8.0_102JVM dll path: C:/Program Files/Java/jdk1.8.0_102/jre/bin/server/jvm.dll
In the C project I load the java project as a binary stream, then loop each class entry and use DefineClass( name, null, bytes, size ), five classes fail.
Upon retryng the five, four pass ( so, dependency problem ), one class never passes.
failing class:
import javax.mail.Authenticator;import javax.mail.PasswordAuthentication;public class MyAuthenticator extends Authenticator{ String username; String password; public MyAuthenticator( String u , String p ) { this.username = u; this.password = p; } @Override public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication( username, password ); }}
If I use FindClass in the C project for Authenticator and PasswordAuthentication, they pass. Java project still get class not found.
If I use class for name in the java project it fails, it passes if I also send the system class loader (default loader is null), but the java project still cant find the class once it gets to the code that calls new.
I also have five custom threads started on the main of the java project, they also complain about class not found (for every thread) eg for Thread1 extends Thread, if I do new Thread1() and Thread1.run() it will not be able to. These Thread classes pass the DefineClass loop so they should exist on the jvm.
Im gtting frustrated, but what am I doing wrong? or is JNI too simple to do this?