1

war ファイルを app.war と呼び、埋め込まれた桟橋にデプロイしたいと考えています。

そのための最も簡単なコードは次のとおりです。

new WebAppContext(server, path, "/");

パスは最終的に「./dist/app.war」のようなものです。Eclipse から実行する場合は魅力的に機能しますが、プロジェクトの実行可能な jar から同じことを実行したい場合はさらに悪化します。

jar アーキテクチャが優れていても、次のようになります。

  • メタINF
  • 距離
    • app.war
  • ...

ファイルが見つかりません。実行中のjarファイルで標準パスが一貫していないことは知っていますが、「jar:file:.../project.jar!/dist/app.jar」を試してもうまくいきません。この問題の解決策はありますか? ありがとうございました !

4

1 に答える 1

0

uber プラグインを使用して、実行可能な jar を作成します。Mavenを使用すると、簡単に追加できます

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <finalName>uber-${artifactId}-${version}</finalName>
            </configuration>
        </plugin>

ここをチェックhttp://maven.apache.org/plugins/maven-shade-plugin/ これにより、すべてのリソース、クラス、および依存関係を含む完全に自己完結型のjarが作成されます

于 2012-07-27T17:01:48.813 に答える