春天依赖决议

时间:2013-05-13 12:51:33

标签: java spring java-ee spring-mvc pom.xml

我是Spring的新手,我将在春季开发我的第一个Helloworld应用程序。 我用的是什么

Spring 2.5.6

JDK 1.7

Eclipse 3.6

的Maven

我下载了Spring框架并将所有必需的jar添加到我的项目中,但是当我将依赖项添加到我的pom.xml文件并尝试构建项目时,它会给我以下错误

Could not resolve dependencies for Project....

我的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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>de.tum.ibis.wsc</groupId>
<artifactId>SpringHelloWorld</artifactId>

<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>Web Services Computing</name>
<url>http://dss.in.tum.de</url>

<properties>
    <output.filename>hello</output.filename>
</properties>

<!-- //////////////////////////////////////////////////////////// -->
<!-- //////////////////////////////////////////////////////////// -->
<!-- /////////// DEPENDENCIES -->

<dependencies>  

<!-- Spring framework --> 
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring</artifactId>
        <version>2.5.6</version>
    </dependency>

    <!-- Spring MVC framework --> 
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>2.5.6</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>2.5.6</version>
    </dependency>

    <!-- JUnit to run the tests -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
        <scope>test</scope>
    </dependency>

    <!-- Java servlet API -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>

    <!-- Velocity templating engine -->
    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity</artifactId>
        <version>1.7</version>
    </dependency>

    <!-- JSTL -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

    <!-- langCommons -->
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.0.1</version>
    </dependency>

</dependencies>

<pluginRepositories>
    <pluginRepository>
        <id>codehaus-snapshots</id>
        <name>Codehaus Snapshots</name>
        <url>http://nexus.codehaus.org/snapshots/</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

<repositories>
    <repository>
        <id>codehaus-snapshots</id>
        <name>Codehaus Snapshots</name>
        <url>http://nexus.codehaus.org/snapshots/</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>


<!-- build configuration -->
<build>
    <finalName>${output.filename}</finalName>

    <plugins>
        <!-- CARGO plugin to start an embedded Jetty for testing -->
        <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <version>1.2.4</version>

            <configuration>
                <container>
                    <containerId>jetty7x</containerId>
                    <type>embedded</type>
                </container>
            </configuration>
        </plugin>
    </plugins>
</build>

Maven输出:

 [INFO] ------------------------------------------------------------------------
 Downloading:     http://repo.maven.apache.org/maven2/org/springframework/spring/2.5.6/spring-2.5.6.pom
 Downloading: http://repo.maven.apache.org/maven2/org/springframework/spring- webmvc/2.5.6/spring-webmvc-2.5.6.pom
 [INFO] ------------------------------------------------------------------------
 [INFO] BUILD FAILURE
 [INFO] ------------------------------------------------------------------------
 [INFO] Total time: 21.301s
 [INFO] Finished at: Mon May 13 14:42:03 CEST 2013
 [INFO] Final Memory: 3M/15M
 [INFO] ------------------------------------------------------------------------
 [WARNING] The requested profile "local" could not be activated because it does not exist.
 [ERROR] Failed to execute goal on project SpringHelloWorld: Could not resolve dependencies for project de.tum.ibis.wsc:SpringHelloWorld:war:0.0.1-SNAPSHOT: Failed to collect dependencies for [org.springframework:spring:jar:2.5.6 (compile), org.springframework:spring-webmvc:jar:2.5.6 (compile), junit:junit:jar:4.10 (test), javax.servlet:servlet-api:jar:2.5 (compile), org.apache.velocity:velocity:jar:1.7 (compile), javax.servlet:jstl:jar:1.2 (compile), org.apache.commons:commons-lang3:jar:3.0.1 (compile)]: Failed to read artifact descriptor for org.springframework:spring:jar:2.5.6: Could not transfer artifact org.springframework:spring:pom:2.5.6 from/to central (http://repo.maven.apache.org/maven2): connection timed out to http://repo.maven.apache.org/maven2/org/springframework/spring/2.5.6/spring-2.5.6.pom ->    [Help 1]

    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR] 
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

我知道为什么会收到此错误?

提前致谢

1 个答案:

答案 0 :(得分:0)

根据mvn输出,maven无法获取“http://repo.maven.apache.org/maven2/org/springframework/spring/2.5.6/spring-2.5.6.pom”。

但是,我现在可以使用我的浏览器来获取它。 这样的事情可能是由网络/代理问题引起的。

如果您的maven / proxying / dns配置没有任何棘手的问题,我会尝试使用备用仓库来解决您遇到麻烦的问题。 像这样,例如:https://repository.jboss.org/nexus/index.html#welcome

此外,如果您想尝试替代回购,这可能会很方便。以下是我的一个项目的存储库部分的复制粘贴:

<repositories>

    <repository>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <id>JBossCommunity_Releases</id>
        <name>Releases Repository Group</name>
        <url>https://repository.jboss.org/nexus/content/repositories/releases</url>
    </repository>

    <repository>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <id>JBossCommunity_Public</id>
        <name>Public Repository Group</name>
        <url>https://repository.jboss.org/nexus/content/repositories/public</url>
    </repository>

    <repository>
        <id>spring-maven-release</id>
        <name>Spring Maven Release Repository</name>
        <url>http://maven.springframework.org/release</url>
    </repository>

    <repository>
        <id>spring-maven-milestone</id>
        <name>Spring Maven Milestone Repository</name>
        <url>http://maven.springframework.org/milestone</url>
    </repository>

</repositories>