2009-05-29 4 views
5

In dem Projekt, das ich arbeite, verwenden wir Maven, um Abhängigkeiten zu verwalten. Allerdings haben wir Probleme mit dem Apache-Wall, der ein Sicherheitsmodul für Axis2 ist. Wir haben versucht, die folgenden Abhängigkeiten Tags zu verwenden:Funktioniert Apache Rampart mit Maven?

<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> 

Was passiert, ist, dass Maven ist nicht in der Lage eine Reihe von Ressourcen zu finden, die als Abhängigkeiten in den Wall pom-Dateien enthalten sind (beachten Sie, dass die Wall pom-Dateien automatisch heruntergeladen werden von Maven, also sollte ich diese Dateien nicht bearbeiten).

Wenn Sie den URI einer Wallabhängigkeit eingeben, die Maven nicht finden konnte, erhalte ich einen Fehler 404. Es sieht aus wie Apache Wall Pom-Dateien sind gebrochen ...

Hat jemand erfolgreich Wall mit Maven verwendet? Ist es die Apache Wall Integration mit Maven gebrochen?

+0

Ich habe ähnliche Probleme ... Unser Projekt kopiert die MAR-Dateien nicht in das lib-Verzeichnis des Krieges, was verhindert, dass jetty: run-war funktioniert. – rcreswick

+1

Ich habe diese Frage vor ein paar Monaten gestellt und ich konnte keine Lösung für dieses Problem finden. Ich gab auf und benutzte Jax-Ws anstelle von Achse 2 ... –

Antwort

4

Ich hatte gerade dieses Problem und einen Workaround gefunden. Statt den Wall depedency hinzuzufügen, fügen Sie alle Libs in den Wall Standard dist, das heißt:

<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> 

Hinweis: ich einige der Version des Walles Standard dist da einige von ihnen aktualisiert waren nicht in der Maven-Repository.

1

Das ist ein großes Problem, weil der .mar Verpackung, ich hasse es, auf diese Weise axis2 Projekt zu arbeiten, hatte wählen, trotzdem können Sie diese Arbeit Zugabe Wall erhalten - * mar und alle erforderlichen * .mar des zu

WEB-INF/lib 
.

Ordner müssen Sie diesen Ordner erstellen, wenn er nicht existiert.

und verwalten andere Abhängigkeiten der normale Weg Maven tun würde, so etwas wie:

org.apache.rampart Wall-Core 1,4

<dependency> 
    <groupId>org.apache.axis2</groupId> 
    <artifactId>axis2-kernel</artifactId> 
    <version>1.4.1</version> 
</dependency> 
Verwandte Themen