Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot create Maven Project in eclipse

Tags:

eclipse

maven

I have Eclipse Luna and Maven 3.2.3 installed on a Windows 7 machine behind a corporate firewall.

Trying to create a project from an archetype results in the following error:

Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart:RELEASE from any of the configured repositories.

Could not resolve artifact org.apache.maven.archetypes:maven-archetype-quickstart:pom:RELEASE

Failed to resolve version for org.apache.maven.archetypes:maven-archetype- quickstart:pom:RELEASE: Could not find metadata org.apache.maven.archetypes:maven-archetype-quickstart/maven-metadata.xml in local (C:\Users\xxxx.m2\repository)

Failed to resolve version for org.apache.maven.archetypes:maven-archetype-quickstart:pom:RELEASE: Could not find metadata org.apache.maven.archetypes:maven-archetype-quickstart/maven-metadata.xml in local (C:\Users\xxxx.m2\repository)

Proxy details are configured in .m2/settings.xml and generating a maven project from an archtype works fine in command line.

I tried to apply the solutions from here but none worked. The remote catalog is not acessible as well. I reckon it's a problem with the network settings of Eclipse. I also looked at this bug report to try and find some clues and couldn't really understand how to implement the workaround.

here is my settings.xml file:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0                       http://maven.apache.org/xsd/settings-1.0.0.xsd">     <servers>         <server>             <id>nexus</id>             <username>[email protected]</username>             <password>{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}</password>         </server>         <server>             <id>deployment</id>             <username>[email protected]</username>             <password>{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}</password>         </server>     </servers>     <mirrors>         <mirror>         <!--This sends everything else to /public -->         <id>nexus</id>         <mirrorOf>*</mirrorOf>         <url>https://nexus-int.xxxx.xxxx.com/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> </settings> 

Any ideas?

Thanks

Tomer

like image 683
Tomer Avatar asked Sep 10 '14 08:09

Tomer


People also ask

How do I create a Maven project in Eclipse?

Create a new Maven project in Eclipse. From the File menu, choose New, and then choose Project. In the New Project window, choose Maven Project. In the New Maven Project window, choose Create a simple project, and leave other default selections.

Why does Maven build failure in Eclipse?

The error message indicates that Maven is unable to find the Java compiler, which comes only with a JDK and not with a JRE.


2 Answers

For me the solution was a bit simpler, I just had to clean the repository : .m2/repository/org/apache/maven/archetypes

like image 35
amanteaux Avatar answered Sep 30 '22 17:09

amanteaux


Same problem here, solved.

I will explain the problem and the solution, to help others.

My software is:

Windows 7 Eclipse 4.4.1 (Luna SR1) m2e 1.5.0.20140606-0033     (from eclipse repository: http://download.eclipse.org/releases/luna) 

And I'm accessing internet through a proxy.

My problem was the same:

  • Just installed m2e, went to menu: File > New > Other > Maven > Maven project > Next > Next.
  • Selected "Catalog: All catalogs" and "Filter: maven-archetype-quickstart", then clicked on the search result, then on button Next.
  • Then entered "Group Id: test_gr" and "Artifact Id: test_art", then clicked on Finish button.
  • Got the "Could not resolve archetype..." error.

After a lot of try-and-error, and reading a lot of pages, I've finally found a solution to fix it. Some important points of the solution:

  • It uses the default (embedded) Maven installation (3.2.1/1.5.0.20140605-2032) that comes with m2e.
  • So no aditional (external) Maven installation is required.
  • No special m2e config is required.

The solution is:

  • Open eclipse.
  • Restore m2e original preferences (if you changed any of them): Click on menu: Window > Preferences > Maven > Restore defaults. Do the same for all tree items under "Maven" item: Archetypes, Discovery, Errors/Warnings, Instalation, Lifecycle Mappings, Templates, User Interface, User Settings. Click on "OK" button.
  • Copy (for example to a notepad window) the path of the user settings file. To see the path, click again on menu: Window > Preferences > Maven > User Settings, and the path is at the "User settings" textbox. You will have to write the path manually, since it is not posible to copy-and-paste. After coping the path to the notepad, don't close the Preferences window.
  • At the Preferences window that is already open, click on the "open file" link. Close the Preferences window, and you will see the "settings.xml" file already openned in a Eclipse editor.
  • The editor will have 2 tabs at the bottom: "Design" and "Source". Click on "Source" tab. You will see all the source code (xml).
  • Delete all the source code: Click on the code, press control+a, press "del".
  • Copy the following code to the editor (and customize the uppercased values):
<settings>   <proxies>    <proxy>       <active>true</active>       <protocol>http</protocol>       <host>YOUR.PROXY.IP.OR.NAME</host>       <port>YOUR PROXY PORT</port>       <username>YOUR PROXY USERNAME (OR EMPTY IF NOT REQUIRED)</username>       <password>YOUR PROXY PASSWORD (OR EMPTY IF NOT REQUIRED)</password>       <nonProxyHosts>YOUR PROXY EXCLUSION HOST LIST (OR EMPTY)</nonProxyHosts>     </proxy>   </proxies> </settings> 
  • Save the file: control+s.
  • Exit Eclipse: Menu File > Exit.
  • Open in a Windows Explorer the path you copied (without the filename, just the path of directories).
  • You will probaly see the xml file ("settings.xml") and a directoy ("repository"). Remove the directoy ("repository"): Right click > Delete > Yes.
  • Start Eclipse.
  • Now you will be able to create a maven project: File > New > Other > Maven > Maven project > Next > Next, select "Catalog: All catalogs" and "Filter: maven-archetype-quickstart", click on the search result, then on button Next, enter "Group Id: test_gr" and "Artifact Id: test_art", click on Finish button.

Finally, I would like to give a suggestion to m2e developers, to make config easier. After installing m2e from the internet (from a repository), m2e should check if Eclipse is using a proxy (Preferences > General > Network Connections). If Eclipse is using a proxy, the m2e should show a dialog to the user:

m2e has detected that Eclipse is using a proxy to access to the internet. Would you like me to create a User settings file (settings.xml) for the embedded  Maven software?  [ Yes ] [ No ] 

If the user clicks on Yes, then m2e should create automatically the "settings.xml" file by copying proxy values from Eclipse preferences.

like image 165
freesoft Avatar answered Sep 30 '22 19:09

freesoft