5

私が取り組んでいるプロジェクトでは、依存関係を管理するためにMavenを使用しています。ただし、Axis2のセキュリティモジュールであるApache城壁に問題があります。次の依存関係タグを使用しようとしました。

    <dependency>
        <groupId>org.apache.rampart</groupId>
        <artifactId>rampart</artifactId>
        <version>1.3</version>
        <type>mar</type>
    </dependency>

    <dependency>
        <groupId>org.apache.rampart</groupId>
        <artifactId>rampart</artifactId>
        <version>1.4</version>
        <type>mar</type>
    </dependency>

何が起こるかというと、mavenはrampart pomファイルに依存関係として含まれている多くのリソースを見つけることができません(rampart pomファイルはmavenによって自動的にダウンロードされるため、これらのファイルを編集することは想定されていませんでした)。

Mavenが見つけられなかった城壁の依存関係のURIを入力すると、404エラーが発生します。apache城壁pomファイルが壊れているようです...

誰かがMavenで城壁をうまく使用しましたか?それは、MavenとのApache城壁統合が壊れているのですか?

4

2 に答える 2

4

私はちょうどこの問題を抱えていて、回避策を見つけました。城壁の依存関係を追加する代わりに、城壁の標準distにすべてのライブラリを追加します。

    <dependency>
        <groupId>org.apache.rampart</groupId>
        <artifactId>rampart-core</artifactId>
        <version>1.4</version>
        <exclusions>
            <exclusion>
                <groupId>bouncycastle</groupId>
                <artifactId>bcprov-jdk15</artifactId>
            </exclusion>
            <exclusion>
                <groupId>opensaml</groupId>
                <artifactId>opensaml</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.santuario</groupId>
                <artifactId>xmlsec</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk15</artifactId>
        <version>1.44</version>
    </dependency>
    <dependency>
        <groupId>org.opensaml</groupId>
        <artifactId>opensaml</artifactId>
        <version>1.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.santuario</groupId>
        <artifactId>xmlsec</artifactId>
        <version>1.4.3</version>
    </dependency>

注:一部のバージョンはMavenリポジトリになかったため、rampart標準distのバージョンの一部を更新しました。

于 2009-12-29T13:47:33.610 に答える
1

これは .mar パッケージングの大きな問題です。私は、axis2 プロジェクトが機能することを選択した方法が本当に嫌いです。とにかく、rampart-*.mar と必要なすべての *.mar を

WEB-INF/lib 

フォルダーが存在しない場合は、そのフォルダーを作成する必要があります。

そして、maven が行う通常の方法で他の依存関係を管理します。たとえば、次のようになります。

org.apache.rampart ランパートコア 1.4

<dependency>
    <groupId>org.apache.axis2</groupId>
    <artifactId>axis2-kernel</artifactId>
    <version>1.4.1</version>
</dependency>
于 2012-01-06T16:18:54.833 に答える