缺少open-saml 3的工件

时间:2018-05-04 18:12:11

标签: java eclipse maven opensaml

尝试在eclipse中构建一个小样本项目(尝试了eclipse的火星和氧气释放)。使用Java 1.8。当我添加opensaml依赖项时,它会在opensaml-saml-impl上失败,表明:

Missing artifact org.apache.commons:commons-collections:jar:3.2.1
Missing artifact org.apache.commons:commons-lang:jar:2.6
Missing artifact org.apache.jakarta:oro:jar:2.0.8

使用以下pom.xml清空项目:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>testSAML2</groupId>
  <artifactId>test.test.saml</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>abc</name>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <properties>
    <opensaml.version>3.3.0</opensaml.version>
  </properties>
      <dependencies>
        <dependency>
            <groupId>org.opensaml</groupId>
            <artifactId>opensaml-core</artifactId>
            <version>${opensaml.version}</version>
        </dependency>
        <dependency>
            <groupId>org.opensaml</groupId>
            <artifactId>opensaml-saml-api</artifactId>
            <version>${opensaml.version}</version>
        </dependency>
        <dependency>
            <groupId>org.opensaml</groupId>
            <artifactId>opensaml-saml-impl</artifactId>
            <version>${opensaml.version}</version>
        </dependency>
        <dependency>
            <groupId>org.opensaml</groupId>
            <artifactId>opensaml-messaging-api</artifactId>
            <version>${opensaml.version}</version>
        </dependency>
        <dependency>
            <groupId>org.opensaml</groupId>
            <artifactId>opensaml-messaging-impl</artifactId>
            <version>${opensaml.version}</version>
        </dependency>
        <dependency>
            <groupId>org.opensaml</groupId>
            <artifactId>opensaml-soap-api</artifactId>
            <version>${opensaml.version}</version>
        </dependency>
        <dependency>
            <groupId>org.opensaml</groupId>
            <artifactId>opensaml-soap-impl</artifactId>
            <version>${opensaml.version}</version>
        </dependency>
         <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.1.7</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.1.7</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>
</project>

我试图在底部添加一个存储库但没有变化:

<repositories>
    <repository>
        <id>shib-release</id>
        <url>https://build.shibboleth.net/nexus/content/repositories/releases</url>
    </repository>
</repositories>

任何人都有任何想法?我试图&#34;更新项目...&#34;,尝试删除/添加为maven项目,尝试了一个空的新项目,试图安装氧气作为一个新的ide并仍然得到同样的问题。< / p>

1 个答案:

答案 0 :(得分:0)

通过一系列步骤解决。最后,我认为最后一步是解决问题的主要步骤(maven构建)。这是系列:

  • 删除整个本地存储库(您的.m2 /存储库)
  • 删除了对旧JVM的所有引用
  • 重启eclipse
  • 多次重置为java 1.8接口,当我选择Maven时,maven中的某些东西认为它是JVM1.5 '更新项目......'
  • 按照The container 'Maven Dependencies' references non existing library - STS Mike Salleses的回答,选择Maven Build
    • 以|运行maven build |目标'干净安装-U'|运行

maven build是一种我从未见过的新技术。它基本上构建了包括maven pulls的项目,你可以看到日志样式格式失败的细节。

maven build终于强制下载所有的jar并编译。其余的测试项目在这一点上都使用了干净的构建。