java.lang.ClassNotFoundException:org.eclipse.equinox.launcher.WebStartMain

时间:2017-11-04 16:30:44

标签: eclipse-plugin eclipse-rcp java-web-start jnlp maven-webstart-plugin

我尝试用jnlp启动我的RCP项目。所以我实施了一个小型e4-RCP项目。从产品开始不会导致任何问题。该应用程序应该工作得很好。我安装了一个运行在localhost:8080的tomcat服务器,这也开始很好。比我为应用程序写了一个jnlp文件。导出并签署了jar。当我尝试启动应用程序时。如http://localhost:8080/webstart.jnlp我得到例外:

java.lang.ClassNotFoundException: org.eclipse.equinox.launcher.WebStartMain
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at com.sun.jnlp.JNLPClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at de.checkpoint.webstart.WebstartLauncher.main(WebstartLauncher.java:9)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)

说完所有这些,这是我的主要内容:

package de.checkpoint.webstart;

import org.eclipse.equinox.launcher.WebStartMain;

public class WebstartLauncher {

    public static void main(String[] args) {

        WebStartMain.main(args);
    }

}

这是我的jnlp文件:

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8080/" href="webstart.jnlp">
    <information>
        <title>Jnlp Webstart Test</title>
        <vendor>Boris Nguema B.</vendor>
        <homepage href="http://localhost:8080/" />
        <description>Testing Webstart</description>
    </information>
    <security>
        <all-permissions/>
    </security>

    <!-- <property name="eclipse.product" value="de.checkpoint.product"/> -->
    <!-- <property name="osgi.frameworkParentClassloader" value="current"/> -->
    <!-- <property name="jnlp.osgi.parentClassloader" value="current"/> -->
    <resources>
        <j2se version="1.8+" />
        <jar href="de.checkpoint.start_1.0.0.201711041646.jar" />
    </resources>

    <application-desc main-class="de.checkpoint.webstart.WebstartLauncher" />
</jnlp>

任何人都可以告诉我,我错过了什么?

1 个答案:

答案 0 :(得分:0)

我不确定你是否已经发现问题,但是equinox启动器在清单中没有这些行:

权限:所有权限

代码库:*

Trusted-Only:true

你需要添加它们并签名。