gpt4 book ai didi

java - 使用 java web start 启动 eclipse RCP 应用程序时无法获得启动屏幕

转载 作者:太空宇宙 更新时间:2023-11-04 15:12:48 25 4
gpt4 key购买 nike

我的应用程序 eclipse Java 应用程序。我使用 myapp.jnlp 文件启动它。单击 myapp.jnlp 文件后,它会完美启动 java 应用程序。现在我想添加两个启动屏幕,即 javaws 应用程序启动屏幕和 eclipse equinox 启动器应用程序启动屏幕。通过在 myapp.jnlp 文件中添加以下行,我成功在 javaws 应用程序上应用启动屏幕。 现在我希望向 java 应用程序添加启动屏幕,直到获得应用程序的 UI,因此我引用以下链接。

Kai's blog

Eclipse Bugs

我已正确遵循 jnlp 文件中的所有步骤并正确定义属性。我所反对的属性如下:

我仍然无法启动启动画面。

我还定义了属性@user.home,其值=“C:\myhome”

当我打开 osgi.install.area 意味着位置“C:\myhome\abc\workspace\osgi”时,我发现它是空白的。

我怀疑我在我的 java 应用程序中进行了混淆。

  • 这会导致任何问题吗?
  • java中的equinox.launcher的启动屏幕是否使用反射?

这个疑问的原因是当我打开 location @user.home\abc\workspace 时,我发现了异常

org.osgi.framework.BundleException: State change in progress for bundle "initial@reference:file:../../../../Users/Ajay/AppData/LocalLow/Sun/Java/Deployment/cache/6.0/25/6e811f29-3354dccb/" by thread "javawsApplicationMain".
at org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.java:1077)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:282)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:417)
at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:265)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:106)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:453)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:469)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(Unknown Source)

这就是我无法获得启动画面的原因吗?

最佳答案

我找到了解决问题的方法。如果我们通过 jar cmdlet 创建一个 jar,它会删除现有的 MANIFEST.MF 文件并生成一个新的 MANIFEST.MF 。由于上述行为,equinox.launcher 插件并非无法找到相应的平台插件。

为了解决该问题,我们使用 zip cmdlet 创建 jar,并且启动屏幕工作正常。

关于java - 使用 java web start 启动 eclipse RCP 应用程序时无法获得启动屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21167038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com