3

基本的に、Oracle は自己完結型アプリケーション (私が使用したい) はサンドボックス環境で実行され、jar に署名しない限り、OS ファイル システム、クリップボードなどにアクセスできないと述べています。サンプルのコードは次のとおりです。

<fx:signjar keyStore="${basedir}/sample.jks" destdir="dist"
alias="javafx" storePass="****" keyPass="****">
    <fileset dir='dist/*.jar'/>
</fx:signjar>

しかし、これは私が思うメインjarのみに署名します。dist/lib フォルダーにもライブラリがいくつかあります。このコードを使用して、それらをメインの jar に追加しています。

<fx:resources>
    <fx:fileset dir="dist" includes="lib/*.jar"/>
</fx:resources>

それらに署名するために、fx:signjar に別のファイルセットを追加する必要がありますか、それともメインの jar のみに署名するだけで十分ですか?

よろしく、アウレリアン

4

2 に答える 2

3

導入ガイドが正しくありません。Oracle Java デプロイメント チームのエンジニアから: 「自己完結型アプリケーションは、スタンドアロンの Java アプリケーション (例: java -jar helloworld.jar) と同じです。デフォルトでは、セキュリティ マネージャなしで実行され、何でも実行するすべての権限があります。他のネイティブ アプリケーションと同様です。」http://javafx-jira.kenai.com/browse/RT-27483でデプロイ ガイドに対して Jira チケットを提出したので追跡できます。また、このエラーについて警告してくれた John Smith に感謝します。お手間をおかけしましたことをお詫び申し上げます。ナンシー・ヒルデブラント、テクニカルライター、オラクル

于 2013-01-02T20:42:51.653 に答える
0

アプリに署名する必要がある場合は、メインの jar だけでなく、すべての jar に署名してください。

それぞれのサンドボックスの外部で動作する必要があるブラウザー組み込み型または Webstart タイプのデプロイメントの場合、1 つの jar のみに署名し、他の jar に署名しないことができますが、エンド ユーザーにとって混乱を招く混合コード警告ダイアログが表示されるため、まったくお勧めできません。

たとえば、次のファイルセットには、署名用のすべての配布 jar が含まれます。

<fileset dir='dist' includes='**/*.jar'/>

Jar は、デフォルトではサンドボックス内で実行されないため、自己完結型アプリケーションが特権リソースにアクセスするために署名する必要はありません。

一部のアプリケーション プラットフォーム (OS X Gatekeeper など) では、プラットフォーム固有のツールを使用して自己完結型アプリケーションに署名することでメリットが得られる場合があります。しかし、そのような署名は JavaFX 2.2.3 パッケージング ツールの範囲外です。

于 2012-12-31T16:11:08.363 に答える