Maven缺少工件com.sun.jndi.ldap。怎么了?

时间:2012-06-23 16:01:57

标签: maven artifact

如何使用com.sun.jndi.ldap修复maven中丢失的工件错误?我还尝试添加java存储库,因为奇怪的二进制许可。这是我的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>ActiveDirectory</groupId>
  <artifactId>my.activedirectory</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>my.activedirectory</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <repositories>
    <repository>
      <id>java.net</id>
      <url>http://download.java.net/maven/2/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>java.net</id>
      <url>http://download.java.net/maven/2/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>net.java.dev.swing-layout</groupId>
      <artifactId>swing-layout</artifactId>
      <version>1.0.2</version>
    </dependency>
    <dependency>
      <groupId>com.sun.jndi</groupId>
      <artifactId>ldap</artifactId>
      <version>1.2.4</version>
    </dependency>
  </dependencies>
</project>

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

我在使用Maven查找Jndi jar时遇到了类似的情况。 Maven Central repo不再有这个罐子了。

您可以从Oracle Archive @ http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html

下载这些罐子

然后将其安装到本地存储库中。这将解决问题。

mvn install:install-file -DgroupId=javax.naming -DartifactId=jndi -Dversion=1.2.1 -Dpackaging=jar -Dfile=jndi-1_2_1.jar

答案 1 :(得分:2)

如果在您指向的存储库中找不到您要查找的jar,则会发生缺少工件异常。我担心这个jar或它所引用的最新版本在http://download.java.net/maven/2 repo中不可用。

尝试使用jBoss存储库或mavens central repo

<repository>
  <id>jboss-maven2</id>
  <name>JBoss Repository</name>
  <url>http://repository.jboss.com/maven2</url>
</repository>

<repository>
  <snapshots>
    <enabled>false</enabled>
  </snapshots>
  <id>central</id>
  <name>Maven Repository Switchboard</name>
  <url>http://repo1.maven.org/maven2</url>
</repository>