Maven Building Error

2019-05-10 09:34发布

问题:

When I try to run

mvn clean package

I am getting the following error

Downloading: http://repo.maven.apache.org/maven2/org/apache/maven /plugins/maven-clean-plugin/2.4.1/maven-clean-plugin-2.4.1.pom
[INFO] ------------------------------------------------------------------------
 [INFO] Reactor Summary:
 [INFO] 
 [INFO] YCSB Root ......................................... FAILURE [21.334s]
 [INFO] Core YCSB ......................................... SKIPPED
 [INFO] Cassandra DB Binding .............................. SKIPPED
 [INFO] HBase DB Binding .................................. SKIPPED
 [INFO] Hypertable DB Binding ............................. SKIPPED
 [INFO] DynamoDB DB Binding ............................... SKIPPED
 [INFO] ElasticSearch Binding ............................. SKIPPED
 [INFO] Infinispan DB Binding ............................. SKIPPED
 [INFO] JDBC DB Binding ................................... SKIPPED
 [INFO] Mapkeeper DB Binding .............................. SKIPPED
 [INFO] Mongo DB Binding .................................. SKIPPED
 [INFO] OrientDB Binding .................................. SKIPPED
 [INFO] Redis DB Binding .................................. SKIPPED
 [INFO] Voldemort DB Binding .............................. SKIPPED
 [INFO] YCSB Release Distribution Builder ................. SKIPPED
 [INFO] ------------------------------------------------------------------------
 [INFO] BUILD FAILURE
 [INFO] ------------------------------------------------------------------------
 [INFO] Total time: 21.581s
 [INFO] Finished at: Sun Jun 23 14:32:40 IST 2013
 [INFO] Final Memory: 7M/238M
 [INFO] ------------------------------------------------------------------------
 [ERROR] Plugin org.apache.maven.plugins:maven-clean-plugin:2.4.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.4.1: Could not transfer artifact org.apache.maven.plugins:maven-clean-plugin:pom:2.4.1 from/to central (http://repo.maven.apache.org/maven2): Connection to http://repo.maven.apache.org refused: Connection timed out -> [Help 1]

pom.xml File

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/3.0.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/3.0.5 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.yahoo.ycsb</groupId>
  <artifactId>root</artifactId>
  <version>0.1.4</version>
  <packaging>pom</packaging>

  <name>YCSB Root</name>

  <description>
    This is the top level project that builds, packages the core and all the DB bindings for YCSB infrastructure.
  </description>
  <dependencies>
    <!-- voldemort -->
    <dependency>
      <groupId>checkstyle</groupId>
      <artifactId>checkstyle</artifactId>
      <version>5.0</version>
    </dependency>
    <dependency>
      <groupId>org.jdom</groupId>
      <artifactId>jdom</artifactId>
      <version>1.1</version>
    </dependency>
    <dependency>
      <groupId>com.google.collections</groupId>
      <artifactId>google-collections</artifactId>
      <version>1.0</version>
    </dependency>
    <!--
    Nail down slf4j version to 1.6 so that it defaults to no-op logger.
    http://www.slf4j.org/codes.html#StaticLoggerBinder
    -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.6.4</version>
    </dependency>

    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-core</artifactId>
      <version>1.0.1</version>
    </dependency>
  </dependencies>


  <!-- Properties Management -->
  <properties>
    <maven.assembly.version>2.2.1</maven.assembly.version>
    <hbase.version>0.94.3</hbase.version>
    <cassandra.version>0.7.0</cassandra.version>
    <infinispan.version>7.1.0.CR1</infinispan.version>
    <openjpa.jdbc.version>2.1.1</openjpa.jdbc.version>
    <mapkeeper.version>1.0</mapkeeper.version>
    <mongodb.version>2.9.0</mongodb.version>
    <orientdb.version>1.0.1</orientdb.version>
    <redis.version>2.0.0</redis.version>
    <voldemort.version>0.81</voldemort.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <thrift.version>0.8.0</thrift.version>
    <hypertable.version>0.9.5.6</hypertable.version>
  </properties>


  <modules>
    <!--module>build-tools</module-->
    <module>cassandra</module>
    <module>core</module>
    <module>hbase</module>
    <module>hypertable</module>
    <module>dynamodb</module>
    <module>elasticsearch</module>
    <!--<module>gemfire</module>-->
    <module>infinispan</module>
    <module>jdbc</module>
    <module>mapkeeper</module>
    <module>mongodb</module>
    <module>orientdb</module>
    <!--module>nosqldb</module-->
    <module>redis</module>
    <module>voldemort</module>
    <module>distribution</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <consoleOutput>true</consoleOutput>
          <configLocation>checkstyle.xml</configLocation>
        </configuration>
        <executions>
          <execution>
          <id>validate</id>
            <phase>validate</phase>
            <goals>
              <goal>checkstyle</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

Through wget http://repo.maven.apache.org it's not showing any error. Can any one help me in this?

I am trying to run YCSB benchmark, I got this error.

回答1:

As the error says, you are not able to connect to the maven repository at : http://repo.maven.apache.org

Try a different repository, details here or add to your pom, this:

<repository>              
          <id>central</id>
          <name>Central</name>
          <url>http://repo1.maven.org/maven2</url>
</repository>


回答2:

There can be 2 possibilities.

  1. You have experinced connection problems to central repository.
  2. Something is wrong in your pom.xml

The exception says that the problem is not in YCSB but in connection to repository while trying to download maven clean plugin.

So, send here pom.xml and just in case check you network connection and try again. Is there a chance that you access internet via browser using proxy while maven does it directly, so the connection is unavailable? Or firewall in your company checks user-agent and does not allow you to connect to repository?

EDIT:

BTW it seems that version 2.4.1 is not in the repository. At least manually I can see version 1.0, 1.0 beta and 1.5



回答3:

This may happen if you are behind a proxy please add proxy settings in ~/.m2/settings.xml and try.

Example:

<proxies>
    <proxy>
        <active>true</active>
        <protocol>http</protocol>
        <host>proxy host name</host>
        <port>port</port>
        <username>username</username>
        <password>password</password>
        <nonProxyHosts>exclutions</nonProxyHosts>
    </proxy>
</proxies>


回答4:

Look like you're maven cannot connect to the repository defined to pull the required artifacts. Are you behind a proxy? In that case you would require to configure the proxy settings in maven - conf - settings.xml.