- This topic has 183 replies, 92 voices, and was last updated 16 years, 5 months ago by Riyad Kalla.
-
AuthorPosts
-
Knut Erik BallestadMember@support-rkalla wrote:
Guys 6.0 is finally out the door, which means 6.1 planning meetings will start probably next week. I am going to pitch Maven2 until I’m blue in the face.
How did it go?
Are you blue in the face yet 🙂 ?
What did management decide regarding Maven2 support?
Riyad KallaMemberNothing yet, more meetings and planning (actually they are in one *right* now)
Knut Erik BallestadMemberhttp://code.google.com/p/q4e/
http://m2eclipse.codehaus.org/So now there exist at least 2 open source projects.
It should be possible for you MyEclipse guys to check both of them out and see if you can base your Maven integration on one or both of them.This would mean that it should be a moderately sized task to integrate Maven.
anderssvMemberFull integration would be great, but working with Maven 2 would be a lot easier if one “bug” would be fixed:
When I define a different output-folder for the Web project MyEclipse stops copying the files to the exploded deployment. It should always copy files from the output paths as well as the path defined in the web-root folder.
For us so far we can handle changed dependencies and jars manually. It doesn’t change that often.
Riyad KallaMemberanderssv,
This is on our TODO list as well, and I just checked and it’s marked for 6.1.
James HurffMemberI hope I don’t get flamed here…this is a long thread and I admit I have not read all of the entries.
MyEclipse is awesome. Maven 2 is awesome. With MyEclipse, does the planned integration with Maven 2 include the ability to hot sync code to the app server? Is this possible? I love the exploded deployment capability with the MyEclipse app server plugins. Is this capability going to be possible with the upcoming integration with Maven 2…or do a I need to find a workaround? What’s the ETA on 6.1?
Riyad KallaMemberWith MyEclipse, does the planned integration with Maven 2 include the ability to hot sync code to the app server?
I don’t know the details of the Maven work or the plan for it yet, but I can say with a pretty high level of certainty that we wouldn’t loose this functionality, so I’ll assume “yes” to this.
What’s the ETA on 6.1?
6.0.1 is October, so 6.1 milestones might be Nov/Dec and a release in Dec or Jan. The tricky part is all the holiday traveling, tends to push release cycle longer.
jsentsMemberI just got put on a Maven2 project. I would love to see hot deploy in the 6.1 release.
Stephen CooperMemberSo, here’s my maven “integration”. It works reasonably well.
I have several projects, – one jar project with common classes, and war projects which use the common classes and define their own. All are controlled by maven. I set the web root of the web projects to be src/main/webapp.
Also, there’s a parent pom in the directory containing these subprojects – I don’t use eclipse to edit this because of a StarTeam limitation, but I could (and did when we used ClearCase)
1) install m2eclipse (link http://m2eclipse.codehaus.org/ )
2) enable maven on the common project
3) enable maven on the web project(s). m2eclipse will detect the common project and include not the installed jar, but a reference to the common project. This is key.
4) In the web projects, I’ve defined the workbench default settings to use smart deployment for dependent java projects and de-selected all checkboxes for “library deployment policies”.
This basically tells MyEclipse: hands off my jar files. I’ll let maven manage them.
5) Again in the web project properties, I remove all libraries except for JRE System Library and Maven2 Dependencies. Make sure you don’t have the Web Libraries automatically added. This is to get rid of an annoyance of all the dependent jar files being listed twice.At this point, you should have classes being generated and resources copied to WEB-INF/classes, not a single jar file in WEB-INF/lib, and the web projects all including the common project in the Maven2 dependencies library.
Now, on the command line ( or from within eclipse using run as maven build…), execute mvn war:inplace.
This copies out non-provided jar files to WEB-INF/lib.
Just to be on the safe side, delete the common jar file which maven puts under WEB-INF/lib. This is because we’re using “Smart deployment of dependent projects”. If we didn’t delete that common jar file, then the classes from the common project would end up in WEB-INF/lib from using maven war:inplace, and *also* under WEB-INF/classes from using “smart deployment”. The classes dir should take precedence, but this step is just to be prudent.You can now deploy to the app server of your choice using the normal MyEclipse techniques.
This approach violates the “maven purist” aproach in as much as generated files are placed under src, but I’m not a purist.
What would be great is if myeclipse took care of these manual steps for me.
Riyad KallaMemberScooper we appreciate you sharing with everyone how you got this working. The details also help us see where the hickups are with integration. Thank you.
Stephen CooperMemberSure, I’m glad I could be of help.
Here’s my prioritized list of features which would facilitate maven integration:
1) Ability, like the maven-jetty-plugin, to reference jar files from somewhere other than WEB-INF/lib. (try mvn jetty:run sometime – it’s cool)
2) deploy class files & resources from somewhere other than WEB-INF/classes
3) Recognize other maven projects in the workspace, and deal “intelligently” with them (i.e. don’t point to the maven repository for those jar files). Could likely piggy back off of the m2eclipse stuff and the “smart” deploy you already have.
4) Stabilize the m2eclipse plugin. It’s a bit flakey when the pom.xml files are updated, especially the parent project pom.xml
5) Add the ability to *not* add myfaces jar files to the classpath when adding JSF nature to a project. (annoyance)——————–
Stephen Cooper
McKesson Corp
Riyad KallaMemberGot it, added to our internal issue tracking this.
Stephen CooperMemberOh, one thing on the maven integration stuff.
After executing mvn war:inplace, don’t forget to hit F5 in eclipse so that eclipse knows it has new jar files to deploy. 🙂
And make sure that they don’t appear twice (once under Maven dependencies, once just by themselves) on your classpath.
Frederic ChopardMemberAny news on this long awaited request ?
Cheers
Riyad KallaMemberNo news, but that’s not too surprising, we are buried in the 6.0.1 QA cycle right now. Those last like 3 weeks of nothing but hardening, testing, polishing, bug fixing, re-testing, etc.
We are up to internal build 6 of 6.0.1 at the moment, and Maven is currently on an internal list for 6.1-investigation. Not sure what that means “officially”, but it’s on a list… and that’s better than not being on a list 🙂
-
AuthorPosts