Артефакт загружен, но не используется с моего единственного сервера Nexus - PullRequest
3 голосов
/ 14 ноября 2011

Я новичок в Nexus и пытаюсь запустить проект Maven на моем отдельном сервере Nexus.При запуске проекта (пример Spring Roo известен как сборка и запуск), загружаются все, кроме двух этапных jar.Мой ответ (возможно, не самый лучший) состоял в том, чтобы найти и загрузить файлы jar напрямую (с POM) на мой сервер Nexus (размещенный репозиторий), который я затем разместил в общедоступной группе.

При повторном запуске проекта mvn (с использованием пакета mvn tomcat: run) кажется, что 2 файла загружаются (см. Вывод консоли ниже) с сервера, но все еще не найдены проектом mvn.Почему проект, очевидно, вызывает их, но не использует их?Спасибо.

Вот выходные данные консоли, показывающие, что загрузка происходит, но не используется проектом, и мои settings.xml (такие проблемы: aspectjrt-1.6.11.M1 и aspectjweaver-1.6.11.M1):

Last login: Mon Nov 14 06:03:25 on console
Macintosh-2:~ wlaprise$ cd coursemanager/
Macintosh-2:coursemanager wlaprise$ mvn package tomcat:run
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Course Manager Chapter 4 0.1.0.BUILD-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://www.c3works.com:8081/nexus-webapp-1.9.1.1/content/repositories/public/org/aspectj/aspectjrt/1.6.11.M1/aspectjrt-1.6.11.M1.pom
Downloaded: http://www.c3works.com:8081/nexus-webapp-1.9.1.1/content/repositories/public/org/aspectj/aspectjrt/1.6.11.M1/aspectjrt-1.6.11.M1.pom (909 B at 0.5 KB/sec)
Downloading: http://www.c3works.com:8081/nexus-webapp-1.9.1.1/content/repositories/public/org/aspectj/aspectjweaver/1.6.11.M1/aspectjweaver-1.6.11.M1.pom
Downloaded: http://www.c3works.com:8081/nexus-webapp-1.9.1.1/content/repositories/public/org/aspectj/aspectjweaver/1.6.11.M1/aspectjweaver-1.6.11.M1.pom (912 B at 1.0 KB/sec)
Downloading: http://www.c3works.com:8081/nexus-webapp-1.9.1.1/content/repositories/public/org/springframework/roo/org.springframework.roo.annotations/1.2.0.BUILD-SNAPSHOT/maven-metadata.xml
Downloading: http://www.c3works.com:8081/nexus-webapp-1.9.1.1/content/repositories/public/org/springframework/roo/org.springframework.roo.osgi.bundle/1.2.0.BUILD-SNAPSHOT/maven-metadata.xml
Downloading: http://www.c3works.com:8081/nexus-webapp-1.9.1.1/content/repositories/public/org/springframework/roo/org.springframework.roo.root/1.2.0.BUILD-SNAPSHOT/maven-metadata.xml
Downloading: http://www.c3works.com:8081/nexus-webapp-1.9.1.1/content/repositories/public/org/aspectj/aspectjrt/1.6.11.M1/aspectjrt-1.6.11.M1.jar
Downloading: http://www.c3works.com:8081/nexus-webapp-1.9.1.1/content/repositories/public/org/aspectj/aspectjweaver/1.6.11.M1/aspectjweaver-1.6.11.M1.jar
Downloaded: http://www.c3works.com:8081/nexus-webapp-1.9.1.1/content/repositories/public/org/aspectj/aspectjrt/1.6.11.M1/aspectjrt-1.6.11.M1.jar (1640 KB at 689.5 KB/sec)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13.607s
[INFO] Finished at: Mon Nov 14 06:17:42 CST 2011
[INFO] Final Memory: 5M/81M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project course-manager-chapter-04: Could not resolve dependencies for project org.rooinaction.coursemanager:course-manager-chapter-04:war:0.1.0.BUILD-SNAPSHOT: Could not find artifact org.aspectj:aspectjweaver:jar:1.6.11.M1 in nexus (http://www.c3works.com:8081/nexus-webapp-1.9.1.1/content/repositories/public) -> [Help 1]
[ERROR] 
[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
Macintosh-2:coursemanager wlaprise$ 

settings.xml -

<settings>
    <mirrors>
        <mirror>
            <!--This sends everything else to /public -->
            <id>nexus</id>
            <mirrorOf>*</mirrorOf>
            <url>http://www.c3works.com:8081/nexus-webapp-1.9.1.1/content/repositories/public</url>
        </mirror>
    </mirrors>
    <profiles>
        <profile>
            <id>nexus</id>
            <!--all requests to nexus via the mirror -->
            <repositories>
                <repository>
                    <id>central</id>
                    <url>http://central</url>
                    <releases><enabled>true</enabled></releases>
                    <snapshots><enabled>true</enabled></snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>central</id>
                    <url>http://central</url>
                    <releases><enabled>true</enabled></releases>
                    <snapshots><enabled>true</enabled></snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>nexus</activeProfile>
    </activeProfiles>
    <pluginGroups>
        <pluginGroup>com.sonatype.maven.plugins</pluginGroup>
        <pluginGroup>org.sonatype.plugins</pluginGroup>
    </pluginGroups>
</settings>

Ответы [ 2 ]

1 голос
/ 15 ноября 2011

Прежде всего, URL http://central в порядке.Это фиктивный заполнитель, который никогда не используется, потому что у вас есть определенное зеркало.

Однако URL-адрес зеркала, который вы используете, скорее всего, неправильный.Обычно репозитории в Nexus размещаются или проксируются, а затем объединяются в общедоступную «группу».

URL-адрес URL по умолчанию для общедоступной группы: http://localhost:8081/nexus/content/groups/public/ с заменой localhost вашим сервером, а порт пропускается, если вы используете прокси-сервер позади Apache или работаете на порту 80.... главное, что это URL / content / GROUPS / public .. ваш URL, скорее всего, неверный.Чтобы проверить это просто попробуйте URL с зеркала в браузере.

И, конечно, все репозитории, которые вы хотите сделать доступными в общедоступной группе, должны быть добавлены в нее.

0 голосов
/ 17 ноября 2011

Поскольку вы работаете на своем собственном сервере Nexus, jar недоступен в настроенных вами репозиториях. Вы должны добавить репозиторий Spring Source, репозиторий и снимки в общедоступную группу.

У OSS есть экземпляр репозитория Spring Source, и у них есть один URL-адрес группы, который содержит веху, выпуски и снимки. Ссылка https://oss.sonatype.org/content/groups/springsource-all/

Чтобы сделать это, вы должны добавить хранилище прокси, которое указывает на https://oss.sonatype.org/content/groups/springsource-all/ и установить политику хранилища на Снимок.

Затем добавьте новый репозиторий в общедоступную группу. Наконец, перестройте индекс, и Maven сможет найти файл сейчас.

Кроме того, ниже приведены несколько полезных ссылок по настройке Spring с Nexus. http://www.sonatype.com/people/2009/12/spring-maven-nexus-best-practices/ http://blog.springsource.com/2009/12/02/obtaining-spring-3-artifacts-with-maven/

...