Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java web start启动eclipse RCP应用程序时无法获取启动屏幕_Java_Eclipse_Osgi_Java Web Start_Splash Screen - Fatal编程技术网

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

使用java web start启动eclipse RCP应用程序时无法获取启动屏幕,java,eclipse,osgi,java-web-start,splash-screen,Java,Eclipse,Osgi,Java Web Start,Splash Screen,我的应用程序是EclipseJava应用程序。我用一个myapp.jnlp文件启动它。 单击myapp.jnlp文件,它将完美地启动java应用程序。 现在,我想添加两个启动屏幕—javaws应用程序启动屏幕和EclipseEquinox启动器应用程序启动屏幕。 现在,我希望将启动屏幕添加到java应用程序中,直到获得应用程序的UI,所以我参考以下链接 我正确地遵循了jnlp文件中的所有步骤,并正确地定义了属性。 我定义的属性如下: 我仍然无法获得启动启动屏幕 我还定义了属性@user.ho

我的应用程序是EclipseJava应用程序。我用一个myapp.jnlp文件启动它。 单击myapp.jnlp文件,它将完美地启动java应用程序。 现在,我想添加两个启动屏幕—javaws应用程序启动屏幕和EclipseEquinox启动器应用程序启动屏幕。 现在,我希望将启动屏幕添加到java应用程序中,直到获得应用程序的UI,所以我参考以下链接

我正确地遵循了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,启动屏幕工作正常