每次启动时都会重新创建Java Webstart快捷方式,并在桌面上移动

时间:2014-07-24 06:49:46

标签: java java-web-start

我有一个通过网络启动的Java Webstart应用程序。因此,服务器和JNLP文件的主机名随服务器的IP而变化 webstart在桌面上创建快捷方式。

问题是,每次启动都会重新创建快捷方式,因此它在桌面上的位置(至少在Windows下 - 在XP和Windows 7上测试)每次都会改变。
在重命名快捷方式之前会发生这种情况。之后它表现得像它应该而且不再重新创建。

有人知道,为什么会发生这种情况以及如何避免它(自动 - 意味着不能手动重命名快捷方式)。

以下是JNLP文件的示例:

<jnlp spec="1.0+" codebase="http://localhost:8080/myapp/" href="http://localhost:8080/myapp/MyApp.jnlp">
  <information>
    <title>MyApp</title>
    <vendor>MeAndI</vendor>
    <homepage href="http://www.MyApp.com"/>
    <description>The client for MyApp </description>
    <description kind="tooltip">The client for MyApp </description>
    <icon href="http://localhost:8080/myapp/icon.png" kind="default"/>
    <icon href="http://localhost:8080/myapp/icon.ico" kind="shortcut"/>
    <shortcut online="true" install="false">
      <desktop/>
      <menu submenu="MyApp"/>
    </shortcut>
  </information>
  <security>
    <all-permissions/>
  </security>
  <update check="timeout" policy="always"/>
  <resources>
    <java initial-heap-size="268435456" max-heap-size="536870912" version="1.5+"/>
    <jar href="http://localhost:8080/myapp/MyAppClient.jar" download="eager" main="false"/>
    <!-- some more jar referemces ... -->
  </resources>
  <application-desc main-class="com.meandi.myapp.core.gui.LoginScreen"/>
</jnlp>

提前谢谢。

此致,Schorsch。

1 个答案:

答案 0 :(得分:0)

这是一个老问题,但我希望这对某人有用。

总是重新创建图标并在桌面上移动的原因是:

  1. jnlp元素中没有定义版本属性。由于更新策略设置为“始终”,因此WebStart将始终重新安装您的应用程序,因此将重新创建图标。
  2. Windows有一个规则,可以添加新的桌面图标。这取决于您是否将Windows设置为对桌面图标进行排序,但大多数人都会手动执行此操作 - 在这种情况下,新图标将从左上角到右下角转到第一个可用空间,在水平前垂直放置。