我在使用 Java Web Start 运行 java 应用程序时遇到此错误。尽管应用程序在 Eclipse 中运行得非常好,并且应用程序也在 Java Web Start 中正确加载。该代码尝试打开文件选择器,但无法执行此操作。
Exception in thread "AWT-EventQueue-0" java.lang.AssertionError
at sun.awt.shell.Win32ShellFolder2$4.call(Unknown Source)
at sun.awt.shell.Win32ShellFolder2$4.call(Unknown Source)
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Unknown Source)
at sun.awt.shell.ShellFolder.invoke(Unknown Source)
at sun.awt.shell.Win32ShellFolder2.getIShellFolder(Unknown Source)
at sun.awt.shell.Win32ShellFolder2.access$200(Unknown Source)
at sun.awt.shell.Win32ShellFolder2$2.call(Unknown Source)
at sun.awt.shell.Win32ShellFolder2$2.call(Unknown Source)
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Unknown Source)
at sun.awt.shell.ShellFolder.invoke(Unknown Source)
at sun.awt.shell.Win32ShellFolder2.<init>(Unknown Source)
at sun.awt.shell.Win32ShellFolderManager2.createShellFolderFromRelativePIDL(Unknown Source)
at sun.awt.shell.Win32ShellFolder2$11.call(Unknown Source)
at sun.awt.shell.Win32ShellFolder2$11.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
最佳答案
好的,我刚刚找到了我自己问题的答案。我已禁用 JNLP 文件中的断言,代码开始工作得很好。
我变了
<j2se version="1.5+" java-vm-args="-esa -Xnoclassgc"/>
到
<j2se version="1.5+" java-vm-args="-dsa -Xnoclassgc"/>
希望这对其他人也有帮助。
关于Java 语言断言错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12658572/