0

このエラーを修正するにはどうすればよいですか? Web サーバーに含まれるすべての jar ファイルを含む展開ディストリビューションがあります。しかし、icon.jnlpを押すと、そのエラーが表示されます。

icon.jnlp:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp codebase="http://localhost:007/dist" href="icon.jnlp" spec="1.0+">
  <information>
    <title>Sample</title>
    <vendor>Sample</vendor>
    <homepage href=""/>
    <description>Sample</description>
    <description kind="short">Sample</description>

    <icon href="load.png" kind="splash"/>
    <icon href="logo.png" kind="default"/>

    <shortcut online="false">
      <desktop/>
        <menu submenu="Sample">
          <menu submenu="Sample Managing System"/>
        </menu>
    </shortcut>
    <offline-allowed/>
  </information>

  <security>
    <all-permissions/>
  </security>

  <resources>
    <j2se version="1.5+"/>
    <jar eager="true" href="http://localhost:007/dist/a.jar" main="true"/>
  </resources>

  <application-desc main-class="main.main">
  </application-desc>

</jnlp>

ここに画像の説明を入力

ファローアップ:

1) JAR Maker をダウンロードします (Linux、Windows で動作します)。

ここに画像の説明を入力

  • すべてのサードパーティの瓶を歌う
  • あなたのデプロイjar

  • 出力ディレクトリ: /var/tmp/project/dist

  • JAR署名者タブに移動します

    • 入力 jar ファイル: a.jar
      • jarsigner の場所: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/bin/jarsigner
      • キーストア ファイル
      • キーが作成されていない場合 > [キーストアの生成] をクリックします - キーツールの場所: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/bin/keytool - 出力キーストア ファイル: /var/tmp/keystore - キーストア エイリアス:この名前を覚えておいてください - 公開鍵: 123456 - 秘密鍵: 123456 - 有効日数: 0 は 6 か月を意味します - キーストア ID - 有効な情報... - キーストアの生成を押します - /var/tmp/keystore と java.key.public と Java が作成されます。鍵
    • キーストア認証

      • キーストア エイリアス: rememberthisname
      • 公開鍵: 123456
      • 秘密鍵: 123456
    • サインJARをクリック!> 失敗したか成功したかがわかります

署名する他のすべての JAR ファイルについて、このプロセスを繰り返します!!

2) 着陸スペースへの展開

3)すべてのサードパーティが参照されていることを確認してください

前:

  <resources>
    <j2se version="1.5+"/>
    <jar eager="true" href="http://localhost:007/dist/a.jar" main="true"/>
  </resources>

後:

  <resources>
    <j2se version="1.5+"/>
    <jar eager="true" href="a.jar" main="true"/>
    <jar eager="true" href="lib/b.jar" main="flas"/>
    <jar eager="true" href="lib/c.jar" main="flas"/>
    <jar eager="true" href="lib/d.jar" main="flas"/>
    <jar eager="true" href="lib/e.jar" main="flas"/>
    <jar eager="true" href="lib/f.jar" main="flas"/>
    <jar eager="true" href="lib/g.jar" main="flas"/>
    <jar eager="true" href="lib/h.jar" main="flas"/>
    <jar eager="true" href="lib/i.jar" main="flas"/>
  </resources>
4

1 に答える 1

1

JaNeLAを使用して JNLP を確認してください。

他のすべてのサードパーティの jar にも署名する必要がありますか?

それは、それらがどのように展開されるかによって異なります。それらが拡張機能にある場合、拡張機能は異なるセキュリティ レベルを持つことができます。セキュリティ レベルがサンドボックス化されている場合、Jar に署名する必要はありません。

ただし、「署名済みリソースと未署名リソースが混在しています」という警告が表示される場合があります。拡張機能間で適用されるかどうかはわかりません。これらの警告を回避する方法はありますが、使用されている拡張機能のセキュリティ レベルに関係なく、署名されたすべての Jar をデプロイする方が簡単だと思います。

于 2012-03-02T12:00:02.030 に答える