Java 7u40 での最後のセキュリティ変更以降、JNLP ファイルに署名する必要があります。これは、 JNLP-INF/APPLICATION.JNLPに最終的な JNLP を追加するか、署名されたメイン jar のJNLP-INF/APPLICATION_TEMPLATE.JNLPにテンプレート JNLP を提供することで実行できます。
最初の方法はうまく機能しますが、これまで知られていない数のランタイム引数をアプリケーションに渡せるようにしたいと考えています。
したがって、APPLICATION_TEMPLATE.JNLP は次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<jnlp codebase="*">
<information>
<title>...</title>
<vendor>...</vendor>
<description>...</description>
<offline-allowed />
</information>
<security>
<all-permissions/>
</security>
<resources>
<java version="1.7+" href="http://java.sun.com/products/autodl/j2se" />
<jar href="launcher/launcher.jar" main="true"/>
<property name="jnlp...." value="*" />
<property name="jnlp..." value="*" />
</resources>
<application-desc main-class="...">
*
</application-desc>
</jnlp>
問題は、 application-descタグ内の *です。
複数の引数タグを使用して固定数の引数をワイルドカードすることは可能ですが(以下のコードを参照)、アプリケーションに提供する引数の数を増減することはできません (Java Webstart は空の引数タグで開始しません)。
<application-desc main-class="...">
<argument>*</argument>
<argument>*</argument>
<argument>*</argument>
</application-desc>
誰かがこの問題を確認できますか、および/または以前に未定義の数のランタイム引数を Java アプリケーションに渡すための解決策を持っていますか?
どうもありがとう!