Thanks Asaf :-)
You're telling me Maven requires an advanced Maven Admin on the
team/organization? No-one told me that before. I am the only one on
the team with any Maven experience, and I am the software architect
on a new infrastructure project, and since January the only person
who has written any code on the project. My goal is to change that
next week and let others start working on the code base. It would
have been sooner, but I have been fighting Maven, Nexus and m2e
configuration hassles for almost two weeks. Anyway, I started the
wiki article to try share some of what I have learned. I still have
more to figure out too, like the Team City side.
Yes, the Sonatype book is helpful to get your bearings, but does not
sufficiently address the deeper issues that as far as I can tell are
still only tribal knowledge shared in the mailing lists.
I figured out that when using m2e, that
preferences>maven>Installations:Global Settings and
preferences>maven>user settings:user settings both have to
point to the same place, and I wanted the settings to be under
source control so if I have to change them, the whole team will pick
up the changes.
Your solution would have been my first choice, but in Windows soft
links are problematic, especially with Windows XP, which some of our
team still use. Google 'reparse points' and you will see how messed
up Microsoft's view of the world is. Windows 7 finally has soft
links like Unix, but they are still not as convenient to use as in
Unix, and it will be a while before the rest of our team upgrade to
Windows 7.
The most expedient and flexible solution I could come up with at the
moment was to put settings.xml in the same path as the rest of the
source control. Using the Windows 'subst' command gives me similar
flexibility to soft links - and is easy to implement in Windows XP.
While I was at it I decided to put the local repository there too
because I can tell Perforce to ignore it with the .p4ignore file
(using team>perforce>ignore in Eclipse). I know it all seems
weird, but after trying many other things in Windows, it was the
most simple way I could get things to work.
Thanks for asking these questions - it mean I need to explain myself
better in the wiki article.
I have renamed the article to "Windows,
Maven, Eclipse, Nexus, Perforce, Team City, Oh My!"
Where I work, Perforce is the tool we have, it is the tool the team
knows how to use. For months I actually had things working with IBM
Jazz Team Concert. It has it's own source control system that is not
ClearCase, it's much better, and all the other Jazz tools are highly
integrated. I am told Team Concerts' source control is more similar
to Git, but I have no direct experience with Git. Eventually I
switched back to our current set of tools because I did not have the
resources to be sys admin for Jazz, and teach the team a new set of
tools.
Thanks for in info on Git, I will have to look into it more some
day.
Cheers, Eric
On 2011-08-07 12:42 PM, Asaf Mesika wrote:
Cool article.
You are correct: Maven has a very steep learning curve. M2E
makes it easier only partially, but still requires an advance
Maven Admin on the team/organization.
I wonder: Was the Sonatype book helpful? When I first
started, it didn't exist yet and I had to learn only from
another person who installed Maven for a living.
Regarding you setup depicted in the article, here are a few
comments:
- Why did you put your Maven repository under
"P:\supercool\Maven\repository" and not stick with the
convention of ~/.m2/repository (I don't remember the similar
path in Windows, but it should be under the User Profile
directory)?
- Why did you not put your settings file as convention goes:
~/.m2/settings.xml?
- In our team, we softlinked ~/.m2/settings.xml to a source
controlled directory everyone has: ~/work/acme/build, thus
spreading a new company configuration easily.
Regarding Perforce - Why not git? Git is free, amazingly
fast, awfully intuitive, and has integration in all IDEs
(Unfortunately best integration is in IntelliJ).
In my professional life I've used many tools: CA's
CCC/Harvest, IBM's ClearCase, Subversion, Mercurial, and git.
The best tool I've found was git. One of my favorite feature
is the merge - simply outstanding compared to any other tool.
On יום שישי 5 אוגוסט 2011 at 08:35,
Eric Kolotyluk wrote:
_______________________________________________
m2e-users mailing list
m2e-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/m2e-users
|