我编写了一个Eclipse E4应用程序。现在我们需要使用Java Web Start将其发布给用户。我找到了一个"如何"在Eclipse website上。项目已正确导出(已创建签名和jnlp文件)。现在,当我使用Web Start启动应用程序时,一切都看起来很好,直到应用程序本身需要启动。没有给出错误,也无法在Web Start日志中找到任何内容。
这是我们使用的JNLP主页:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp
spec="1.0+"
codebase="http://localhost:80"
href="test.jnlp"> <!-- URL to the site containing the jnlp application. It should match the value used on export. Href, the name of this file -->
<information>
<!-- user readable name of the application -->
<title> Test Application </title>
<!-- vendor name -->
<vendor>My company</vendor>
<!-- vendor homepage -->
<homepage href="My company website" />
<!-- product description -->
<description></description>
<icon kind="splash" href="splash.gif"/>
</information>
<!--request all permissions from the application. This does not change-->
<security>
<all-permissions/>
</security>
<!-- The name of the main class to execute. This does not change-->
<application-desc main-class="org.eclipse.equinox.launcher.WebStartMain">
<argument>-nosplash</argument>
</application-desc>
<resources>
<!-- Reference to the launcher jar. The version segment must be updated to the version being used-->
<jar href="plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-1417.jar"/>
<!-- Reference to all the plugins and features constituting the application -->
<!-- Here we are referring to the wrapper feature since it transitively refers to all the other plug-ins necessary -->
<extension
name="Wrapper feature"
href="features/CR_IT_Client_Feature_1.0.0.201608230817.jnlp"/>
<!-- Information usually specified in the config.ini -->
<!-- The id of the product to run, like found in the overview page of the product editor -->
<property
name="eclipse.product"
value="CR-IT System Platform.product"/>
</resources>
<!-- Indicate on a platform basis which JRE to use -->
<resources os="Mac">
<j2se version="1.5+" java-vm-args="-XstartOnFirstThread"/>
</resources>
<resources os="Windows">
<j2se version="1.4+"/>
</resources>
<resources os="Linux">
<j2se version="1.4+"/>
</resources>
</jnlp>
我做了一些研究,确实发现了一个web start的日志文件。 在日志中,您可以在主jar中找到错误:&#34; Missing Permissions清单属性:http://localhost:80/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar&#34;。我的清单文件如下:
Manifest-Version: 1.0
Permissions: all-permissions
Application-Name: CR-IT System Platform
Bundle-ManifestVersion: 2
Bundle-Name: CR-IT System Platform
Bundle-SymbolicName: CR-IT_client;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: com.ac.client.eclipse.Activator
Bundle-Vendor: AC
Require-Bundle: javax.inject;bundle-version="1.0.0",
org.eclipse.core.runtime;bundle-version="3.11.1",
org.eclipse.swt;bundle-version="3.104.2",
org.eclipse.e4.ui.model.workbench;bundle-version="1.1.100",
org.eclipse.jface;bundle-version="3.11.1",
org.eclipse.e4.ui.services;bundle-version="1.2.0",
org.eclipse.e4.ui.workbench;bundle-version="1.3.1",
org.eclipse.e4.core.di;bundle-version="1.5.0",
org.eclipse.e4.ui.di;bundle-version="1.1.0",
org.eclipse.e4.core.contexts;bundle-version="1.4.0",
org.eclipse.nebula.widgets.pshelf;bundle-version="1.1.0",
org.eclipse.equinox.launcher;bundle-version="1.3.100",
org.eclipse.e4.core.services;bundle-version="2.0.0",
org.eclipse.e4.tools.css.spy;bundle-version="0.12.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Import-Package: org.osgi.framework;version="1.3.0"
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .,
swing2swt.jar,
libs/json-simple-1.1.1.jar,
libs/gettext-commons-0.9.8.jar,
libs/java_websocket.jar
有人知道这个奇怪问题的解决方案吗?
答案 0 :(得分:0)
更改了jar中的manefest文件。这是通过做jar -ufm
我添加的更改包括: 权限:所有权限
Codebase: *
Application-Name: <<App name>>
Trusted-Only: true
Trusted-Library: true