繁体   English   中英

使用Java Web Start启动Eclipse RCP应用程序时无法启动屏幕

[英]Unable to get splash screen when launching eclipse RCP application using java web start

我的应用程序使Java应用程序黯然失色。我正在使用myapp.jnlp文件启动它。 单击myapp.jnlp文件后,它将完美启动Java应用程序。 现在我想添加两个启动画面,既是javaws应用程序启动画面,又是eclipse equinox启动器应用程序启动画面。通过在myapp.jnlp文件中添加以下行,我成功地将启动画面应用于javaws应用程序。 现在,我希望在Java应用程序中添加启动画面,直到获得应用程序的UI,因此我参考以下链接。

凯的博客

Eclipse错误

我在jnlp文件中正确执行了所有步骤,并正确定义了属性。 我定义的属性如下:

仍然无法启动启动画面。

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

当我打开osgi.install.area时,其位置为“ C:\\ myhome \\ abc \\ workspace \\ osgi”,我发现它为空白。

我对此有疑问,我在Java应用程序中做了混淆处理。

  • 这会引起任何问题吗?
  • Java中的equinox.launcher启动画面是否使用反射?

引起这种怀疑的原因是当我打开位置@ 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,并且初始屏幕运行良好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM