Maven cannot download from Artifactory Repository - maven

I am attempting to connect our Jenkins servers to our Artifactory repository for builds. I've been successful with the Jenkins server at my office location, but I am having problems with a Jenkins server that's on another part of the corporate network.
I've disabled the job, went into the workspace, and tried using mvn directly:
$ mvn clean
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] PROJ Generic Aggregate POM
[INFO] PROJ Generic Module
[INFO] PROJ Generic Features
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building PROJ Generic Aggregate POM 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://repo.vegicorp.net/artifactory/plugins-release/org/apache/maven/plugins/maven-clean-plugin/2.4.1/maven-clean-plugin-2.4.1.pom
And then it freezes before it spits out:
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] PROJ Generic Aggregate POM ........................ FAILURE [2:06.295s]
[INFO] PROJ Generic Module ............................... SKIPPED
[INFO] PROJ Generic Features ............................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2:07.160s
[INFO] Finished at: Wed Feb 11 18:16:46 EST 2015
[INFO] Final Memory: 8M/149M
[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.vegicorp.net/artifactory/plugins-release): Connection to http://repo.vegicorp.net refused: Connection timed out -> [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/PluginResolutionException
to
However, if I attempt to fetch that URL via curl, it downloads without any problems. Same with wget:
$ curl http://repo.vegicorp.net/artifactory/plugins-release/org/apache/maven/plugins/maven-clean-plugin/2.4.1/maven-clean-plugin-2.4.1.pom
<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<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>
So, I am able to reach that URL via wget and curl, but Maven itself seems to be having problems fetching that URL. I've added a proxy settings to my ~/.m2/settings.xml, but that doesn't seem to make any difference. We originally setup our Maven repository to redirect from Port 80 to Port 8080, but adding or removing the port number from the URL makes no difference. The settings.xml is from Artifactory which will generate it for you. The same settings.xml works in our office.
Removing the settings.xml allows everything to work because it can download from the standard Maven repo.
My settings.xml:
<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<servers>
<server>
<username>dweintraub</username>
<password>AP8SoMtGnYpACsAwZo5oqUCfSYP</password>
<id>central</id>
</server>
<server>
<username>dweintraub</username>
<password>AP8SoMtGnYpACsAwZo5oqUCfSYP</password>
<id>snapshots</id>
</server>
</servers>
<profiles>
<profile>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>libs-release</name>
<url>http://repo.vegicorp.net/artifactory/libs-release</url>
</repository>
<repository>
<snapshots />
<id>snapshots</id>
<name>libs-snapshot</name>
<url>http://repo.vegicorp.net/artifactory/libs-snapshot</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>plugins-release</name>
<url>http://repo.vegicorp.net/artifactory/plugins-release</url>
</pluginRepository>
<pluginRepository>
<snapshots />
<id>snapshots</id>
<name>plugins-snapshot</name>
<url>http://repo.vegicorp.net/artifactory/plugins-snapshot</url>
</pluginRepository>
</pluginRepositories>
<id>artifactory</id>
</profile>
</profiles>
<activeProfiles>
<activeProfile>artifactory</activeProfile>
</activeProfiles>
</settings>
And there's a file ~/.m2/repositories/org/apache/maven/plugins/maven-clean-plugins/2.4.1/maven-clean-plugin-2.4.1.pom.lastUpdated with this content:
#NOTE: This is an internal implementation file, its format can be changed without prior notice.
#Wed Feb 11 18:16:46 EST 2015
da39a3ee5e6b4b0d3255bfef95601890afd80709#proxy.gain.tcprod.local\:3128>2f606e371a64780e100321226a9f68a38c8b7906#default-http\://repo.vegicorp.net/artifactory/plugins-release/.lastUpdated=1423695463870
2f606e371a64780e100321226a9f68a38c8b7906#default-http\://repo.vegicorp.net/artifactory/plugins-release/.lastUpdated=1423696543392
http\://repo.vegicorp.net/artifactory/plugins-release/.error=Could not transfer artifact org.apache.maven.plugins\:maven-clean-plugin\:pom\:2.4.1 from/to central (http\://repo.vegicorp.net/artifactory/plugins-release)\: Connection to http\://repo.vegicorp.net refused
http\://repo.fusesource.com/nexus/content/repositories/releases/.lastUpdated=1423694766347
http\://repo.vegicorp.net/artifactory/plugins-snapshot/.error=Could not transfer artifact org.apache.maven.plugins\:maven-clean-plugin\:pom\:2.4.1 from/to snapshots (http\://repo.vegicorp.net/artifactory/plugins-snapshot)\: Connection to http\://repo.vegicorp.net refused
2f606e371a64780e100321226a9f68a38c8b7906#default-http\://repo.vegicorp.net/artifactory/plugins-snapshot/.lastUpdated=1423696606400
http\://repo.fusesource.com/nexus/content/repositories/releases/.error=
http\://repo.vegicorp.net/artifactory/plugins-release/.error=Could not transfer artifact org.apache.maven.plugins\:maven-clean-plugin\:pom\:2.4.1 from/to central (http\://repo.vegicorp.net/artifactory/plugins-release)\: Failed to transfer file\: http\://repo.vegicorp.net/artifactory/plugins-release/org/apache/maven/plugins/maven-clean-plugin/2.4.1/maven-clean-plugin-2.4.1.pom. Return code is\: 504 , ReasonPhrase\:Gateway Time-out.
That looks like a proxy settings problem. Can you please add the ouptut of mvn help:effective-settings to the question? Thanks!
I'm going to cry...
$ mvn help:effective-settings
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] PROJ Generic Aggregate POM
[INFO] PROJ Generic Module
[INFO] PROJ Generic Features
Downloading: http://repo.fusesource.com/nexus/content/repositories/releases/org/apache/maven/plugins/maven-deploy-plugin/2.7/maven-deploy-plugin-2.7.pom
Downloading: http://repo.vegicorp.net/artifactory/plugins-release/org/apache/maven/plugins/maven-deploy-plugin/2.7/maven-deploy-plugin-2.7.pom
and then it freezes and displays:
[WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-deploy-plugin:2.7: Plugin org.apache.maven.plugins:maven-deploy-plugin:2.7 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-deploy-plugin:jar:2.7
Sorry. I can't run mvn help:effective-settings because of my settings...

Yet I don't know why, but after i restarted the nexus process, even before it truly started, maven download process continued.......
my environment: centos 7 , maven 3.6.3, java-1.8.0-openjdk-1.8.0.302

Related

Could not find artifact javax.xml.crypto:xmldsig

Each time when I'm trying to build the Spring application I got an error:
im#im:~/projects/nsn_maintenance_be/maintenance$ mvn clean install
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building maintenance 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for javax.xml.crypto:xmldsig:jar:1.0 is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.770 s
[INFO] Finished at: 2019-05-22T19:09:32+03:00
[INFO] Final Memory: 11M/211M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project maintenance: Could not resolve dependencies for project com.ia:maintenance:war:1.0-SNAPSHOT: Failure to find javax.xml.crypto:xmldsig:jar:1.0 in http://maven.springframework.org/release was cached in the local repository, resolution will not be reattempted until the update interval of spring-maven-release has elapsed or updates are forced -> [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
the pom.xml file (repositories part):
<repositories>
<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>
<repository>
<id>spring-roo-repository</id>
<name>Spring Roo Repository</name>
<url>http://spring-roo-repository.springsource.org/release</url>
</repository>
</repositories>
I did some research and fond this lib https://mvnrepository.com/artifact/javax.xml/xmldsig/1.0 instead of javax.xml.crypto:xmldsig:jar:1.0, but I can't cut javax.xml.crypto:xmldsig:jar:1.0 from the repository. The dependencies part in my pom.xml doesn't contain javax.xml.crypto lib.
I guess that the problem is here (in this repository) http://spring-roo-repository.springsource.org/release because it returns:
<Error>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
<Key>release</Key>
<RequestId>C7A040F5A0227562</RequestId>
<HostId>uPDsneugMkZ3DgdU5THuUsWdaC/wEkyfgXAUPntzxdcsprT1C6M2eNgK0jo5cr2KLdNAW7uU=
</HostId>
</Error>
How can I built the application?

Nexus not downloading artifacts through Hudson

I'm trying to integrate Hudson with Nexus.
As I build a project without using Nexus, its build is successful.
When I try building it with Nexus, I get the following build errors:
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 12:22:22-0300)
Maven home: /var/lib/hudson/maven/slavebundle/bundled-maven
Java version: 1.7.0_91, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.91.x86_64/jre
Default locale: pt_BR, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-220.el6.x86_64", arch: "amd64", family: "unix"
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/var/lib/hudson/maven/slavebundle/lib/maven3-eventspy-runtime.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/var/lib/hudson/maven/slavebundle/bundled-maven/lib/slf4j-simple-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
[DEBUG] Connected to remote
[INFO] o.h.m.e.h.SettingsBuildingRequestHandler - Using settings document ID: ff56412a-102c-4256-80bf-f234990c91ba
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Project
[INFO] ------------------------------------------------------------------------
Downloading: http://localhost:8081/nexus/content/groups/public/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom
[WARNING] The POM for org.apache.maven.plugins:maven-clean-plugin:jar:2.5 is missing, no dependency information available
Downloading: http://localhost:8081/nexus/content/groups/public/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.378s
[INFO] Finished at: Thu Nov 12 11:37:31 BRST 2015
[INFO] Final Memory: 7M/30M
[INFO] ------------------------------------------------------------------------
[INFO] o.h.m.e.h.MavenExecutionResultHandler - Build failed with exception(s)
[INFO] o.h.m.e.h.MavenExecutionResultHandler - [1] org.apache.maven.plugin.PluginResolutionException: Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Could not find artifact org.apache.maven.plugins:maven-clean-plugin:jar:2.5 in nexus (http://localhost:8081/nexus/content/groups/public)
[DEBUG] Closing connection to remote
[ERROR] Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Could not find artifact org.apache.maven.plugins:maven-clean-plugin:jar:2.5 in nexus (http://localhost:8081/nexus/content/groups/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/PluginResolutionException
[DEBUG] Waiting for process to finish
[DEBUG] Result: 1
[DEBUG] Skipping watched dependency update for build: Tracker #26 due to result: FAILURE
Finished: FAILURE
And this is my configured Settings on Hudson:
<settings>
<mirrors>
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<!--Enable snapshots for the built in central repo to direct -->
<!--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>
<!--make the profile active all the time -->
<activeProfile>nexus</activeProfile>
</activeProfiles>
<servers>
<server>
<id>nexus</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
</settings>
I don't know why is it not downloading from central repository into the nexus public repository.
Can someone shed some light into this?
I finally solved it. It was throwing as SSL Exception when trying to access the Central Repository.
This exception was automatically blocking my access.
I went to Central Repository > Configuration and changed the Remote Storage Location url to: http://repo.maven.apache.org/maven2/ and right-clicked on Central and clicked Allow Proxy.
It worked like a charm after that.
I hope this helps someone, because I lost almost two days to this.
EDIT (19/11/2015):
If you're running your openjdk using RedHat/CentOS, there's a bug preventing access via SSL, just as pointed by #rseddon in the comments section. The workarounds are here: https://issues.sonatype.org/browse/NEXUS-7999?focusedCommentId=306680&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-306680
If you're in a hurry, this is the one I used:
Add the following line to ${JAVA_HOME}/jre/lib/security/java.security :
jdk.tls.disabledAlgorithms=EC,ECDHE,ECDH
Now I can use the https link on my Central Repo.

Restlet maven dependency issue error code 307

I have the following Restlet dependency that is probably coming into effect because its transitive in nature.
However I get the following error message which stops me from building the project. Can you please let me know the issue?
Failed to read artifact descriptor for org.restlet.jee:org.restlet:jar:2.1.1: Could not transfer artifact org.restlet.jee:org.restlet:pom:2.1.1 from/to maven-restlet (http://maven.restlet.org): Failed to transfer http://maven.restlet.org/org/restlet/jee/org.restlet/2.1.1/org.restlet-2.1.1.pom. Error code 307, Temporary Redirect -> [Help 1]
I made a try with the version of Restlet you use (2.1.1) and same edition (jee) with the following file 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>org.restlet.maven</groupId>
<artifactId>org.restlet.maven.test</artifactId>
<name>${project.artifactId}</name>
<packaging>jar</packaging>
<version>1.0.0-snapshot</version>
<dependencies>
<dependency>
<groupId>org.restlet.jee</groupId>
<artifactId>org.restlet</artifactId>
<version>2.1.1</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>maven-restlet</id>
<name>Public online Restlet repository</name>
<url>http://maven.restlet.com</url>
</repository>
</repositories>
</project>
I works for me. See the following traces below:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building org.restlet.maven.test 1.0.0-snapshot
[INFO] ------------------------------------------------------------------------
Downloading: http://maven.restlet.com/org/restlet/jse/org.restlet/2.1.1/org.restlet-2.1.1.pom
Downloaded: http://maven.restlet.com/org/restlet/jse/org.restlet/2.1.1/org.restlet-2.1.1.pom (614 B at 1.0 KB/sec)
Downloading: http://maven.restlet.com/org/restlet/jse/org.restlet.parent/2.1.1/org.restlet.parent-2.1.1.pom
Downloaded: http://maven.restlet.com/org/restlet/jse/org.restlet.parent/2.1.1/org.restlet.parent-2.1.1.pom (9 KB at 28.7 KB/sec)
Downloading: http://maven.restlet.com/org/restlet/jse/org.restlet/2.1.1/org.restlet-2.1.1.jar
Downloaded: http://maven.restlet.com/org/restlet/jse/org.restlet/2.1.1/org.restlet-2.1.1.jar (710 KB at 392.9 KB/sec)
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) # org.restlet.maven.test ---
(...)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.353s
[INFO] Finished at: Wed Feb 25 10:48:47 CET 2015
[INFO] Final Memory: 11M/213M
[INFO] ------------------------------------------------------------------------
I think that it's a problem in your maven configuration.
Hope it helps you,
Thierry
Are you able to go beyond the compilation error?. I'm getting this error while including Morphline dependency for building a Morphline ETL job. After investigating I was not able to get an answer. I manually downloaded the pom, jar into the .m2 directory on my location and fix this issue.
I downloaded the files from http://maven.restlet.com/org/restlet/jee/org.restlet.parent/2.1.1/.
built the pom and it was successful. let me know if there was a fix to this issue which is automatic.
The problem is that whatever is calling the restlet dependency in the original question is referencing http://maven.restlet.org which doesn't seem to be a good URL anymore (and it looks like it was in transition when the question was asked). It should work if you replace that with http://maven.restlet.com, which bears out in Thierry's answer.
Incidentally, I came across this same issue while trying to install DSpace 6.3, which has a dependency of Solr 4.10.4, and I want to share my solution in case others are encountering this and, like me, finding only very old and irrelevant threads about it.
My error message was almost identical except for the message returned by the server:
[ERROR] Failed to execute goal on project dspace-solr: Could not resolve
dependencies for project org.dspace:dspace-solr:war:6.3: Failed to collect
dependencies at org.apache.solr:solr-core:jar:4.10.4 ->
org.restlet.jee:org.restlet:jar:2.1.1: Failed to read artifact descriptor for
org.restlet.jee:org.restlet:jar:2.1.1: Could not transfer artifact
org.restlet.jee:org.restlet:pom:2.1.1 from/to maven-restlet
(http://maven.restlet.org): Access denied to:
http://maven.restlet.org/org/restlet/jee/org.restlet/2.1.1/org.restlet-2.1.1.pom ,
ReasonPhrase:Forbidden. -> [Help 1]
I resolved this by searching for .pom files in my ~/.m2 directory that contained "restlet.org" and then editing them to replace restlet.org with restlet.com, which for the version of Solr that DSpace needs was in:
~/.m2/repository/org/apache/solr/solr-parent/4.10.4/solr-parent-4.10.4.pom
And I changed from
<repository>
<id>maven-restlet</id>
<name>Public online Restlet repository</name>
<url>http://maven.restlet.org</url>
</repository>
To
<repository>
<id>maven-restlet</id>
<name>Public online Restlet repository</name>
<url>http://maven.restlet.com</url>
</repository>
For anyone facing the below issue with restlet jse download from maven,
Could not resolve dependencies for project restletapi:restlet-sample-project:jar:0.0.1-SNAPSHOT: Failed to collect dependencies at org.restlet.jse:org.restlet:jar:2.3.7: Failed to read artifact descriptor for org.restlet.jse:org.restlet:jar:2.3.7: Could not transfer artifact org.restlet.jse:org.restlet:pom:2.3.7 from/to maven-restlet (https://maven.restlet.com): sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target -> [Help 1]
[ERROR]
You need to add the below Restlet respository in pom.xml
<repositories>
<repository>
<id>maven-restlet</id>
<name>Restlet repository</name>
<url>https://maven.restlet.talend.com</url>
</repository>
</repositories>

mvn deploy snapshot to nexus oss failed with return code 500 internal error

I use maven to deploy artifact to sonatype nexus,I can perform release action normally,but deploy snapshots failed.
sonatype nexus 2.7.0.5
Java 1.7
maven 3.0.5
mvn release:prepare;mvn release:perform; successful without any error
mvn deploy failed with return code 500
[INFO] maven-jar-plugin:2.4:jar (default-jar) # licm
[INFO] Building jar: /foo/licm/trunk/target/licm-0.2.9-SNAPSHOT.jar
[INFO]
[INFO] maven-install-plugin:2.3.1:install (default-install) # licm
[INFO] Installing /foo/licm/trunk/target/licm-0.2.9-SNAPSHOT.jar to /foo/.m2/repository/com/xxx/utils/licm/0.2.9-SNAPSHOT/licm-0.2.9-SNAPSHOT.jar
[INFO] Installing /foo/licm/trunk/pom.xml to /foo/.m2/repository/com/xxx/utils/licm/0.2.9-SNAPSHOT/licm-0.2.9-SNAPSHOT.pom
[INFO]
[INFO] --- maven-deploy-plugin:2.8.1:deploy (default-deploy) # licm ---
Downloading: http://xxx.xxx.com:8080/nexus/content/repositories/snapshots/com/xxx/utils/licm/0.2.9-SNAPSHOT/maven-metadata.xml
[WARNING] Could not transfer metadata com.xxx.utils:licm:0.2.9-SNAPSHOT/maven-metadata.xml
from/to Snapshots (http://xxx.xxx.com:8080/nexus/content/repositories/snapshots): Failed to transfer file:
http://xxx.xxx.com:8080/nexus/content/repositories/snapshots/com/xxx/utils/licm/0.2.9-SNAPSHOT/
maven-metadata.xml. Return code is: 500 , ReasonPhrase:Internal Server Error.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.824s
[INFO] Finished at: Fri Dec 20 01:20:33 CST 2013
[INFO] Final Memory: 8M/20M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.1:deploy (default-deploy) on project licm: Failed to retrieve remote metadata com.xxx.utils:licm:0.2.9-SNAPSHOT/maven-metadata.xml: Could not transfer metadata com.xxx.utils:licm:0.2.9-SNAPSHOT/maven-metadata.xml from/to Snapshots (http://xxx.xxx.com:8080/nexus/content/repositories/snapshots): Failed to transfer file: http://xxx.xxx.com:8080/nexus/content/repositories/snapshots/com/xxx/utils/licm/0.2.9-SNAPSHOT/maven-metadata.xml. Return code is: 500 , ReasonPhrase:Internal Server Error. -> [Help 1]"
This is my first time to deploy snapshots to remote repository,so there have nothing in snapshot repository on nexus server
settings.xml
<?xml version="1.0"?>
<settings>
<servers>
<server>
<id>Releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>Snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<mirrors>
<mirror>
<id>Nexus</id>
<name>Nexus Public Mirror</name>
<url>http://xxx.xxx.com:8080/nexus/content/groups/public</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
</settings>
pom.xml
<distributionManagement>
<repository>
<id>Releases</id>
<name>xxx Releases Repositories</name>
<url>http://xxx.xxx.com:8080/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>Snapshots</id>
<name>xxx Snapshots Repositories</name>
<url>http://xxx.xxx.com:8080/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
I've encountered the same return code (500) and reason (Internal server error), and finnaly found that the nexus server disk space is full. :) Checking the nexus log in the server could find this clue.
Answer myself.
When the nexus server can't find the maven-metadata.xml,it will cause tomcat throw an exception,this is the problem
I change the Tomcat version from 6.x to 7.0.x,everything is ok
Nexus requires a Servlet 3.0 compliant container. It comes bundled with a Servlet 3.0 compliant Jetty 8. If you deploy it on another container you have to make sure it is compliant. Couldn't find this in the documtation but from own experience it seems to be the case.
When you
HTTP GET
http://xxx.xxx.com:8080/nexus/content/repositories/snapshots/com/xxx/utils/licm/0.2.9-SNAPSHOT/maven-metadata.xml
in a browser you should be able to see the stacktrace, which contains
java.lang.NoSuchMethodError: javax.servlet.http.HttpServletResponse.getStatus()
This is only available in Servlet 3.0 containers.
This was the error reported as similar in my case:
Failed to transfer file:
http://192.168.0.2:8080/repository/maven-snapshots/org/xxxx/xxx-yyy/1.0-SNAPSHOT/maven-metadata.xml.
Return code is: 500 , ReasonPhrase:Server Error.
In my case after doing the http file verification suggested by #hansi, the server response was javax.servlet.ServletException: java.lang.NumberFormatException: null.
After doing some review about what causes this, I found that is is because a problem with the artifact creation timestamp. In my case the maven-metadata.xml was corrupted and it was caused by a reboot in the server that adjusted the time automatically after the daylight saving time was in efect. I got a clue about it in this post https://issues.sonatype.org/browse/NEXUS-12496
What worked in my case was to delete the maven-metadata.xml in all the artifact references. After that the error was corrected.
In here we get failure.
Downloading: http://xxx.xxx.com:8080/nexus/content/repositories/snapshots/com/xxx/utils/licm/0.2.9-SNAPSHOT/maven-metadata.xml
then we cant get that release snapshot so we do manually in pom.xml file
updated to related dependency details then it will work.

Artifact downloaded, but not used from my single Nexus server

I am new to Nexus and am trying to run a Maven project against my single Nexus server. In running the project (Spring Roo example known to build and run properly), all but two milestone jar’s loaded. My answer (maybe not the best) was to find and upload the jars directly (with POM’s) into my Nexus server (hosted repo), which I then placed in the public group.
When re-running the mvn project (using mvn package tomcat:run), the 2 files seem to download (see console output below) from the server, but are still not found by the mvn project. Why would the project apparently call them down but not use them? Thanks.
Here is the console output showing the download happening, but not getting used by the project, and my settings.xml (jars at issue are the aspectjrt-1.6.11.M1 and 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>
First of all the url http://central is fine. It is a dummy placeholder that is never used because you have the mirror defined.
However the mirror url you are using it most likely wrong. Typically repositories in Nexus are hosted or proxied and then aggregated into a public "group".
The url default url for the public group is http://localhost:8081/nexus/content/groups/public/
with localhost replaced with your server and the port omitted if you are proxying behind apache or running on port 80.
Anyway.. the main point is that the url is /content/GROUPS/public .. your url is most likely wrong. To test is just try the url from the mirror in a browser.
And of course all the repositories you want available in the public group have to be added to it.
Since you are running on your own Nexus server, the jar is not available on the repositories you have configured. You should add the Spring Source milestone, releases, and snapshots repository to the public group.
OSS has an instance of the Spring Source repository and they have a single group url that contains the milestone, releases, and snapshots. The link is https://oss.sonatype.org/content/groups/springsource-all/
To do that, you should add a proxy repository that points to https://oss.sonatype.org/content/groups/springsource-all/ and set the repository policy to Snapshot.
Then, add the new repository to the public group. Finally, rebuild the index and Maven should be able to find the file now.
Also, below are a few helpful links configuring Spring with 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/

Resources