Maven使用错误的存储库下载

Noz*_*rum 16 maven

我使用的是旧版本(1.5)的com.sun.jersey-server/json/client,它必须是这个版本所以请不要建议使用更新的版本.

在我的pom.xml中,我通过它引用它

    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>${jersey.version}</version>
        <type>jar</type>
        <scope>compile</scope>
        <exclusions>
            <exclusion>
                <!-- version conflicts with explicit direct dependency -->
                <groupId>org.codehaus.jettison</groupId>
                <artifactId>jettison</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

$ {jersey.version}为1.5

如果我不想编译它我得到这些错误:

    [INFO] Scanning for projects...
    [INFO]------------------------------------------------------------------------
    [INFO] Building MediaAssistantWebService
    [INFO]    task-segment: [clean, install]
    [INFO]------------------------------------------------------------------------
     [...]
    [INFO] Using 'UTF-8' encoding to copy filtered resources.
    [INFO] Copying 1 resource
    Downloading: http://repositories.dai-labor.de/extern/content/repositories/dai-open/com/sun/jersey/jersey-server/1.5/jersey-server-1.5.pom
    [INFO] Unable to find resource 'com.sun.jersey:jersey-server:pom:1.5' in repository dai-open (http://repositories.dai-labor.de/extern/content/repositories/dai-open)
    Downloading: http://download.java.net/maven/2//com/sun/jersey/jersey-server/1.5/jersey-server-1.5.pom 10K downloaded  (jersey-server-1.5.pom)
    Downloading: http://maven.glassfish.org/content/groups/glassfish/com/sun/jersey/jersey-project/1.5/jersey-project-1.5.pom 185b downloaded  (jersey-project-1.5.pom)
    [WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '6c9fd3d150b8a5f0ca676f49b8ed603793cabebb'; remote = '<html><head><title>301' - RETRYING
    Downloading: http://maven.glassfish.org/content/groups/glassfish/com/sun/jersey/jersey-project/1.5/jersey-project-1.5.pom185b downloaded  (jersey-project-1.5.pom)
    [WARNING] *** CHECKSUM FAILED - Checksum failed on download: local '6c9fd3d150b8a5f0ca676f49b8ed603793cabebb'; remote = '<html><head><title>301' - IGNORING
    [INFO] ------------------------------------------------------------------------
    [ERROR] BUILD ERROR
    [INFO] ------------------------------------------------------------------------
    [INFO] Error building POM (may not be this project's POM).

    Project ID: null:jersey-server:bundle:null

    Reason: Cannot find parent: com.sun.jersey:jersey-project for project: null:jersey-server:bundle:null for project null:jersey-server:bundle:null
Run Code Online (Sandbox Code Playgroud)

所以google了一段时间,互联网说我将把这个存储库添加到我的pom所以maven会先看看那里.

<repository>
  <id>maven2-repository.dev.java.net</id>
  <name>Java.net Repository for Maven</name>
  <url>http://download.java.net/maven/2/</url>
  <layout>default</layout>
</repository>
Run Code Online (Sandbox Code Playgroud)

但那没有做任何事情.我删除了我的.m2文件夹中的jersy-folder并再次尝试mvn clean编译,它仍然尝试从这些glassfish-404服务器下载.

有人知道我要改变什么,所以它会正确下载吗?

And*_*yuk 17

尝试在其他人之前添加maven central的存储库:

<repositories>
    <repository>
        <id>maven-central</id>
        <url>http://repo1.maven.org/maven2</url>
    </repository>
    ...
</repositories>
Run Code Online (Sandbox Code Playgroud)

更好的选择是建立nexus服务器并删除pom文件中的存储库部分:http: //www.sonatype.com/people/2009/02/why-putting-repositories-in-your-poms-is- A-坏主意/


小智 5

对我有用的唯一解决方案是在 settings.xml 中为 glassfish 存储库添加一个镜像:

<mirror>
    <id>glassfish-mirror</id>
    <name>glassfish mirror</name>
    <url>http://maven.nuxeo.org/nexus/content/repositories/public-releases</url>
    <mirrorOf>glassfish-repository</mirrorOf>
</mirror>
Run Code Online (Sandbox Code Playgroud)

正如这里所解释的