Running J6SE application in NT box

I need to run a Java application that we are trying to port to Java 6 in an NT field.

I manage to run java 5 on it (although not officially supported), but when I try to run java 6, I get the following error:

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jre1.6.0_05\bin\awt.dll: The specified procedure could not be found 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 sun.security.action.LoadLibraryAction.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.awt.NativeLibLoader.loadLibraries(Unknown Source) at sun.awt.DebugHelper.<clinit>(Unknown Source) at java.awt.EventQueue.<clinit>(Unknown Source) at javax.swing.SwingUtilities.invokeLater(Unknown Source) at ui.sequencer.test.WindowTest.main(WindowTest.java:136) 

Does anyone know how to solve this?

This persists even when I transfer java executables to another directory without spaces in its name.

ps I know I have to upgrade, but this is not for me or my company - this is a very big mistake of the huge giant company we work with, and they intend to support NT for another 5 years.

+4
source share
3 answers

Ok, thanks to all the viewers and @Roel Spiker and @Partyzant for their answers.

It's impossible. If you did not install Windows2000 in the NT field. This is due to the fact that awt.dll fr J6SE uses new methods in User32.dll, which is part of the Windows operating system (associated with kernel.dll, etc.). Use the dll dependency chord and see for yourself. Another possible solution is to slightly modify OpenJDK to use other methods available on Windows NT.

+2
source

Java SE 6 requires at least Windows 2000.

+1
source

I do not use a graphical interface such as AWT, Swing or SWT, you can try to run the application in headless mode. See http://java.sun.com/developer/technicalArticles/J2SE/Desktop/headless/ for more details. To run java in headless mode, use java -Djava.awt.headless=true

He will take care of UnsatisfiedLinkError. I do not know if this was the only obstacle.

+1
source

Source: https://habr.com/ru/post/1277310/


All Articles