cancel
Showing results for 
Search instead for 
Did you mean: 

NX Open using Java Exception error

Creator
Creator

Hi everybody!

 

I am running and automation of an FEA in NX using Java through Eclipse. The external connection from eclipse to NX is via the Licensing example of NX Open.

Last week my computer broke down and I needed to reinstall Windows and all the software again. I had the workspace saved, but now when I run the Main class the following error appear:

 

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at nxopen.SessionFactory.get(Unknown Source)
at nxopen.SessionFactory.get(Unknown Source)
at Main$1.run(Main.java:22)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
... 17 more
Caused by: java.lang.UnsatisfiedLinkError: C:\Program Files\Siemens\NX 9.0\UGII\libnxopenjavacore.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at nxopen.SignJarCore.loadLibraryCore(Unknown Source)
at nxopen.BaseSession_impl.initialize(Unknown Source)
at nxopen.Session_impl.initialize(Unknown Source)
at nxopen.BaseSession_impl.<init>(Unknown Source)
at nxopen.Session_impl.<init>(Unknown Source)
at nxopen.Session_impl.GetSession(Unknown Source)
... 21 more

 

I do not know too much about the library references and how to relate them.

 

Thank you so much for the help

 

Cheers 

 

Bernardo

9 REPLIES

Re: NX Open using Java Exception error

Siemens Phenom Siemens Phenom
Siemens Phenom

Hi Bernardo,

You have to add the external NXOpen jars to your Eclipse project. The steps are the same for other external jars, therefore, internet search gives some detailed documentation on this.

As there are different solutions I recommend the following steps:

1. In Eclipse go to Window -> Preferences -> Java -> Build Path -> User Libraries  and add a new user library

user_lib.png

 

2. Go to your project, RMB -> Build Path -> Configure Build Path

3. Go to the Library Tab and Add Library and select User Library. Here select the user library created in step 1.

 

add_lib.png

 

4. Finally the NXOpen jars should now be available in your project

final.png

 

Hope this helps.

Xtof

Re: NX Open using Java Exception error

Experimenter
Experimenter
HI,
I am getting same error though I have added external Jar to it.
But Here I m running standalone code for NX .Not integrated with soa code .

Re: NX Open using Java Exception error

Experimenter
Experimenter

I have the same problem. I add all NXOpen jar files to my eclipse project and I add the UGII directory to java.library.path however when I run the java program get an error.

 

libnxopenjavacore.dll: Can't find dependent libraries

Do I need to add more folders to java.library.path? I don't found any page about configuration of java projects to uses NXOpen libraries.

Re: NX Open using Java Exception error

Siemens Phenom Siemens Phenom
Siemens Phenom

Have you added the UGII directory to the Windows path variable?

Re: NX Open using Java Exception error

Experimenter
Experimenter

Yes, I have UGII in windows PATH variable. Do I need others folders in PATH variable or another environment variables?

Re: NX Open using Java Exception error

Siemens Phenom Siemens Phenom
Siemens Phenom

See Compiling and linking NX Open for Java in the NX Open Programmer's Guide in the online help.

Re: NX Open using Java Exception error

Experimenter
Experimenter

I read guide and I have all JAR files in my project classpath (eclipse).

 

Can someone make a summary about all I need for using NXOpen in my java project?

 

I have this configuration:

 

- Java project in Eclipse.

- All NXOpen JAR files in my project classpath.

- UGII folder in windows PATH variable.

 

One question:

 

Do I need that NX is running to execute unit test or main method? I have this code for test this problem:

 

/**
 * Main method.
 * 
 * @param args
 * @throws NXException
 */
public static void main(String[] args) throws NXException {

	SessionFactory.get("UFSession");

	System.out.println("OK");
}

Thanks and best regards.

Re: NX Open using Java Exception error

Siemens Phenom Siemens Phenom
Siemens Phenom

I don't see that anything else must be defined in Eclipse.

Something like this is more reasonable to test the set-up:

 

ufSession = (UFSession)SessionFactory.get("UFSession");

System.out.println(ufSession.UF().askSystemInfo().programName);

 

It should give you something like NX 10.xxx

 

 

Re: NX Open using Java Exception error

Experimenter
Experimenter

Hallo, if you even have the Problem, you can use an old Java version. lastly you can also windows newly install. i solved the same of problem with that.

there are conflicts in your configurations.