【问题标题】:Does Apache Rampart work with maven?Apache Rampart 是否与 Maven 一起使用?
【发布时间】:2010-10-29 21:17:08
【问题描述】:

在我正在工作的项目中,我们使用 maven 来管理依赖项。但是,我们遇到了 Apache 壁垒问题,它是 Axis2 的安全模块。我们尝试使用以下依赖项标签:

    <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 无法找到作为依赖项包含在 armart pom 文件中的许多资源(请注意,rampart pom 文件是由 maven 自动下载的,所以我不应该编辑这些文件) .

当输入 maven 无法找到的壁垒依赖项的 URI 时,我收到 404 错误。看来 apache 壁垒 pom 文件已损坏...

有人用maven成功使用了城墙吗?是不是 apache 壁垒与 maven 的集成坏了?

【问题讨论】:

  • 我遇到了类似的问题...我们的项目没有将 mar 文件复制到 war 的 lib 目录中,这会阻止 jetty:run-war 工作。
  • 几个月前我问过这个问题,但我找不到解决这个问题的方法。我放弃并使用了 jax-ws 而不是轴 2...

标签: java apache soap axis2 rampart


【解决方案1】:

我刚遇到这个问题并找到了解决方法。不是添加壁垒依赖,而是在壁垒标准 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>

注意:我更新了一些壁垒标准 dist 的版本,因为其中一些不在 maven 存储库中。

【讨论】:

    【解决方案2】:

    这是一个大问题,因为 .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>
    

    【讨论】:

      猜你喜欢
      • 2011-12-05
      • 1970-01-01
      • 1970-01-01
      • 2017-01-13
      • 2016-07-26
      • 2014-08-29
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      相关资源
      最近更新 更多