Ivy vs Maven

Hi,

I am using a Lecture presented by Miki (
https://vaadin.com/documents/10187/6317bedc-6db4-444f-8709-911596e7b81a
) as a Step-by-Step tutorial of a Hello World of Vaadin.

Since I am a beginner in Vaadin (and Java), I would like to ask a newbie question.

In his presentation, Miki uses Ivy as the “dependency manager”. However, as far as I know, Apache Ivy somehow competes with Maven, that is widely used by Vaadin in order to obtain add-ons and etc.

So, my questions are:

  1. Do I need to install both Ivy and Maven?

  2. Is the presentation deprecated?

  3. Installing only Ivy is “enough”?

  4. What Am I missing?

Use Maven, no need to install anything. Modern IDEs bundle it by default (Eclipse Java EE version and NetBeans 8). Only if you want to build from command line, you’ll need to install Maven separately.

If you want to use Eclipse WTP without build script and with our Eclipse plugin, then your must install Eclipse IvyDE as well.

cheers,
matti

  1. No, it is “OR”
  2. Don’t know, but if he uses Ivy, doesn’t mean it is
  3. Yes
  4. Focusing on vaadin and programming instead of build tools :slight_smile:

Exactly!

cheers,
matti

Hi Folks,

Thanks for the advice.

What I will do is:

  1. Get Eclipse
  2. Install Vaadin Plugin
  3. Install Tomcat 7 in “Preferences → Server Runtime Environments”
  4. Create a new Vaadin project associating it with Tomcat 7

obs1: I will not use Eclipse WTP, since I will install Tomcat separately
obs2: I saw some ivy.xml and ivySettings.xml in the project. I think it is the “Modern IDEs bundle it by default” comment by Matti
obs3: finnish names looks really hard to pronounce. Took me a whole day to pronounce “Kimi Räikkönen” :slight_smile:

Just to make sure you got it right, Maven comes bundled with Eclipse (EE distribution) and NetBeans, not IvyDE.

So, in case you want to use Eclipse, I suggest to:

  1. get eclipse (EE distribution)
  2. Install Tomcat as a server for Eclipse
  3. Create new maven project using maven, archetype groupId: com.vaadin artifactId: vaadin-archetype-application, version: 7.2.6. Should by found easily with the search as well if your Eclipse has indexed archetypes properly.
  4. Execute “mvn install” to compile application specific widgetset (also creates war file for production deployment to target directory)
  5. Use context menu: debug on server > choose your Tomcat server
  6. (Optional, if you want to use Visual Designer) Install Vaadin plugin. Vaadin Eclipse plugin “natively” supports Eclipse WTP projects and IvyDE, but Visual Designer is usable with maven projects as well.

This is the most commonly used development setup for non trivial applications. It is easy to add various dependencies, not just
Vaadin add-ons
, and the project is easy to setup in other IDEs as well (e.g. just “File->Open” in NetBeans) and trivial to set up as project into your CI server.

cheers,
matti

Hi,

I´m having a hard time configuring Maven under a proxy. I have tried it all, but none worked as expected. That is the problem for working in a big company using a open source stuff… It never works out of the box.

The funny thing is that Ivy works fine.
I think I will use Ivy as shown in the Lecture.

Thank you for your support

Last question:

What If a download a example project configured with Maven, maybe it works…

Like this one:

https://github.com/yaw/vaadin-jpa-crud