java – 在NT机器上运行J6SE应用程序

我需要运行一个Java应用程序,我们试图在NT机器上移植到Java 6.

我设法在它上运行java 5(虽然没有官方支持),但是当我尝试运行java 6时,我收到以下错误:

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)

任何人都知道如何解决这个问题?

即使我将java可执行文件移动到名称中没有空格的另一个目录,这仍然存在.

附:
我知道,我应该升级,但这不取决于我或我的公司 – 这是一个非常非常巨大的巨大公司我们合作,他们打算将NT再保持5年.

解决方法:

好的,感谢所有观众以及@Roel Spiker和@Partyzant的回答.

它无法完成.除非你在NT盒子上安装windows2000.这是因为awt.dll fr J6SE在User32.dll中使用了新方法,这是Windows操作系统的一部分(链接到kernel.dll等).使用dll依赖性walker并亲自查看.
另一种可能的解决方案是稍微改变OpenJDK以使用Windows NT中可用的其他方法.

上一篇:[翻译]内核池基础知识(池损坏)


下一篇:smbsh - 允许用UNIX命令访问NT文件系统