簡體   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