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)
Showing posts with label m2eclipse. Show all posts
Showing posts with label m2eclipse. Show all posts

Wednesday, January 16, 2013

The container 'Maven Dependencies' references non existing library

If you copy an Eclipse-Maven project from one computer to another, you may get a Build Path Problem resembling:  "The container 'Maven Dependencies' references non existing library 'XXXXXXXXXXXX'".  This is obviously due to a difference in the location of the local Maven repository from one computer to the other. 

To fix this, right-click on the project > Maven > Disable Dependency Management.  Once Eclipse has finished rebuilding the project, right-click on the project > Maven > Enable Dependency Management.  This error should now be gone.  

Wednesday, December 15, 2010

Strategies to creating a new web application project

A seemingly trivial task, starting a new web app project in Eclipse, requires specific steps when working with an assortment of technologies like Maven and Subversion.

  1. File > New > Other > Dynamic Web Project 
  2. To conform with Maven's WAR project structure, in the following dialog, specify /src/main/webapp for the Content Directory:
  3. Once the project is created, right-click on project > Maven > Enable Dependency Management. 
  4. The project can be associated with a pre-existing Subversion folder by Team > Share Project and on this dialog, enter the path of the Subversion folder at "Use specified folder name":
  5. I might have been on crack when I performed the steps below ... they are not necessary and are retained only for reference purposes:
  6. If you generally set-up a project in Subversion with the typical folders of branches, tags, trunk, create these first and then with Subclipse check-out the trunk as your working copy (change the project name from trunk to something appropriate).  If you start your project in Eclipse and then attempt to Team > Share Project, Eclipse dialogs seem to force you to create a new Subversion location under trunk rather than committing to trunk directly
  7. Create Maven web app project, commit, re-check-out using Eclipse New Project Wizard 
    1. Use a Maven archetype to create the skeleton of your web app project in the SVN working copy.  You can do this from the command-line (refresh workspace once done) or using m2eclipse via File > New > Other > Maven project.  However this step does not create an Eclipse project that is recognized by WTP's Tomcat
    2. Commit Maven project
    3. Then delete project from workspace including contents on disk (this is OK since everything is already committed to Subversion)
    4. Re-check-out using Eclipse's New Project Wizard, choosing Dynamic Web Project for the wizard type.  Along the way, there is a dialog box that asks for "Content directory":  From here you cannot specify the webapp directory in Maven's specific structure so just ignore for now
    5. Once the project is checked-out, edit the file .settings/org.eclipse.wst.common.component.xml  There is a line that will probably read <wb-resource deploy-path="/" source-path="/WebContent"/>.  Change that to <wb-resource deploy-path="/" source-path="/src/main/webapp"/>
    6. Your project should now be Add-able to WTP's Tomcat and content in /src/main/webapp should be viewable in the web browser