Labels

.net (1) *nix (1) administration (1) Android (2) Axis2 (2) best practice (5) big-data (1) business-analysis (1) code re-use (1) continuous-integration (1) Cordova-PhoneGap (1) database (2) defect (1) design (3) Eclipse (7) education (1) groovy (2) https (2) Hudson (4) Java (1) JAX-RS (2) Jersey (3) Jetty (1) localization (1) m2eclipse (2) MapForce (1) Maven (12) MySQL (1) Nexus (4) notes (4) OO (1) Oracle (4) performance (1) Perl (1) PL/SQL (1) podcast (1) PostgreSQL (1) requirement (1) scripting (1) serialization (1) shell (1) SoapUI (1) SQL (1) SSH (2) stored procedure (1) STS (2) Subclipse (1) Subversion (3) TOAD (3) Tomcat (4) UML (2) unit-testing (2) WAMP (1) WAS (3) Windows (3) WP8 (2) WTP (2) XML (4) XSLT (1)

Monday, December 26, 2011

Problems installing Groovy-Eclipse extension in SpringSource Tool Suite 2.7.1

Attempting to install the Groovy-Eclipse extension in STS 2.7.1, I received obscure error messages about a conflicting dependency with a Maven extension.  Using a new workspace did not fix the problem.  When trying with STS 2.8.1, I received a much better error message:  that I could not install since STS was in the C:\Program Files directory.  To verify this, I moved my STS program directory to the root of C: and tried to install the Groovy-Eclipse extension again:  No problems this time.

Comparing against some of my other computers with STS and the Groovy-Eclipse extension installed, it appears that the Groovy-Eclipse extension does not like the space character in C:\Program Files.


Thursday, December 1, 2011

Third-party JARs and Nexus

The Nexus documentation (start here and Uploading Artifacts) is quite good for what to do to deal with third-party JARs and basically JARs that don't reside in any repository out in the rest of the world (obsolete versions or proprietary).  However, if you aren't careful, the Nexus user interface can be misleading.  For the Artifact Upload interface, it can be easy to select the POM file and select the JAR artifact, but neglect to press the Add Artifact button.



Nexus will then simply upload the POM file but not the JAR file.  At this point, the clean-up of the mess begins.

Your Maven build will fail, not being able to locate the JAR file.  If you attempt to re-do the step, but this time, pressing the Add Artifact button, you will get the following error:

You need to clean up the repository of the Nexus server, which you can do by going to the Browse Storage tab > navigating to the appropriate section by GAV > right-click > Delete. 

 However, if you attempt another build, Maven will fail again.  If you look at the build log, you will see something like:
Failure to find ... in http://.../nexus/content/groups/public was cached in the local repository, resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced

The next step is to go to the Local repository where the Maven build ran and clean it up.  Navigate in the file system by GAV and you will find files named similarly to:
some-artifact-0.1.jar.lastUpdated
some-artifact-0.1.pom.lastUpdated

Delete these, re-run the Maven build.  It should find your artifacts now.