6

maven-webstart-plugin を使用して jnlp をビルドすると、ランタイムの依存関係が jnlp に含まれていないことがわかりました。

私はこのようなテンプレートを使用しています:

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="$jnlpspec" codebase="${url}/${appName}" href="${outputFile}">
    <information>
        <title>${appName}</title>
        <vendor>$project.Organization.Name</vendor>
        <homepage href="${url}/${appName}"/>
        <offline-allowed/>
    </information>
    <security>
        <all-permissions/>
    </security>
    <resources>
        <j2se version="$j2seVersion"/>
        $dependencies
    </resources>
    <application-desc main-class="${main}" />
</jnlp>

ランタイムの依存関係を含めるにはどうすればよいですか? まあ、私はそれらすべてを個別に含めることができます:

<plugin>
    <groupId>org.codehaus.mojo.webstart</groupId>
    <artifactId>webstart-maven-plugin</artifactId>
    <configuration>
      <dependencies>
        <includes>
          <include>groupId:artifactId</include>
          ...
        </includes>
      </dependencies>
      ...
    </configuration>
  </plugin>

...しかし、理想的には、プロジェクトにランタイム依存関係を追加するたびにこれを変更することを覚えておく必要はありません。

すべてのランタイム依存関係を含めるようにプラグインに指示する方法はありますか?

4

2 に答える 2

1

したがって、デフォルトでは、すべてのコンパイルとランタイムの依存関係が含まれていることがわかります。

何が起こっていたのですか?

さて、私はantを使用してjnlpをサーバーにデプロイしています.antファイルでは、スコープをランタイムとして指定せずに$dependencies使用して設定されていました。mvn:dependenciesしたがって、スコープを追加すると$dependencies、jnlp ファイルに組み込まれるファイルセットが変更されます。

于 2012-05-30T21:31:18.590 に答える
0

モジュールの 1 つが Web 開始プロジェクトである親 pom 構成を使用します。これをできるだけ最小限に抑えるのが好きです。ロギング ライブラリ、メイン アプリケーション モジュール (同じ親 pom 構造内の別のモジュール)、およびネイティブ バイナリを含む jar ファイルにのみ依存関係をコンパイルしています。これらのコンパイルの依存関係に加えて、いくつかのテストの依存関係と、ローカルの javaws.jar ファイルへのシステムの依存関係があります。

Maven webstart プラグインには、コンパイル依存関係として web start プロジェクトに含まれるモジュールからのランタイム依存関係が含まれているようです。同様の方法でプロジェクトを分割することが解決策になる場合があります。

ネイティブバイナリについて。これらの依存関係を jar リソースではなく nativelib として取得するには、速度テンプレートを多少変更する必要がありました。

于 2011-10-11T12:14:34.897 に答える