Originally posted by Guy Allard:
Having said that, I know a lot of people in the real world will disagree: many large open source projects are using Maven.
Guy
Originally posted by Ernest Friedman-Hill:
Gregg, you are way ahead of me. It's been years, and I still haven't figured out why anyone would prefer Ant over make, let alone Maven. Seriously.
-Nate
Write once, run anywhere, because there's nowhere to hide! - /. A.C.
Originally posted by Gregg Bolinger:
And that is who I'd like to hear from. I keep thinking I am missing something. Maybe Maven fans can tell me what that is.
Originally posted by Guy Allard:
Poke around at Apache, and look at the build systems being used. I just spent 3 minutes there and see:
. Active MQ
. Geronimo
. MyFaces
and surely there are more. Look at the developers' mailing lists, I imagine they have discussed it.
Guy
Originally posted by Gregg Bolinger:
Thanks Nathan. Now this is what I am looking for. Some comments related to your points:
1.) Don't you have to tell Maven where to get all these dependencies? You have to add repositories for projects (well, some). And then you have to create the POM for you project and say I want this and this and this and this. When it is time for a new project you create another POM or copy your existing POM and make modifications. Now, assuming you require most of the same dependencies how does this save you when you can just copy from one project to another everything you need? Not to mention the ramp up time trying to get Maven working in the first place.![]()
Originally posted by Gregg Bolinger:
2.) I don't have to guess either. Most JAR's are named with the version. If not, I simply rename them. And again, copy from one project to another. Or I can go download the latest on. Or I guess I can go back into my POM and tell Maven which one to go get. Chances are this is 1 or 2 JAR's. It's not that a deal to grab what I need, IMHO.
Originally posted by Gregg Bolinger:
3.) My only argument here is that I don't care for that project structure. I've heard/read you can modify this but its a real pain.
-Nate
Write once, run anywhere, because there's nowhere to hide! - /. A.C.
Originally posted by Gregg Bolinger:
2.) I don't have to guess either. Most JAR's are named with the version. If not, I simply rename them. And again, copy from one project to another. Or I can go download the latest on. Or I guess I can go back into my POM and tell Maven which one to go get. Chances are this is 1 or 2 JAR's. It's not that a deal to grab what I need, IMHO.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Ilja Preuss:
Our team uses the convention that the version is encoded in the cvs comment of the jar-file. And this is actually enforced by our Ant script.
This makes it really easy to update a jar file - just overwrite the existing jar file and commit with the appropriate comment. No build script or other classpath adjustment needed. And using Eclipse, you can easily look up the currently used version using the history view.
Originally posted by Gregg Bolinger:
Good point except Maven folks say that JAR files don't belong in version control. They belong in a maven repository.![]()
-Nate
Write once, run anywhere, because there's nowhere to hide! - /. A.C.
Originally posted by Nathan Pruett:
Do you check each version of the JDK you build your project under into version control control too? ( I do realize some people probably *do* do this...)
So why should third party libraries go there?
A Maven repository is being used as the "version control" for your dependencies
your normal version control system is being used for version control of the code you write.
Also, Maven can be completely "under your control" - just make your own repository, and override the default repository setting to only use yours.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Gregg Bolinger:
Ok, so what is this I hear about the fact that you shouldn't check large files into version control? I spoke with a guy the other night that never mentioned the "best practice" of using Maven for JAR's but it was more of a file size issue. Is this something that carried over into SVN from CVS that may no longer be an issue?
your normal version control system is being used for version control of the code you write.
[OCP 21 book] | [OCP 17 book] | [OCP 11 book] | [OCA 8 book] [OCP 8 book] [Practice tests book] [Blog] [JavaRanch FAQ] [How To Ask Questions] [Book Promos]
Other Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, TOGAF part 1 and part 2
Originally posted by Dan Dyer:
You may find this interesting:
http://fishbowl.pastiche.org/2007/12/20/maven_broken_by_design
All third party and common components must be in the version control system - preferably with the application. This is a bit controversial because it seems wasteful and redundant but we're looking for a different kind of efficiency. Home grown common code can be managed the same as third party components or compiled every time just like your application code.
Originally posted by Gregg Bolinger:
Ok, so what is this I hear about the fact that you shouldn't check large files into version control? I spoke with a guy the other night that never mentioned the "best practice" of using Maven for JAR's but it was more of a file size issue. Is this something that carried over into SVN from CVS that may no longer be an issue?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Dan Dyer:
You may find this interesting:
http://fishbowl.pastiche.org/2007/12/20/maven_broken_by_design
LOL - do you say the same thing while the new hire is downloading the JDK and Eclipse and synching up with the repository?We have a joke around the office, when a new hire is setting up their development environment for the first time. �Now we go to lunch while Maven downloads the Internet.�
-Nate
Write once, run anywhere, because there's nowhere to hide! - /. A.C.
Originally posted by Nathan Pruett:
LOL - do you say the same thing while the new hire is downloading the JDK and Eclipse and synching up with the repository?
[OCP 21 book] | [OCP 17 book] | [OCP 11 book] | [OCA 8 book] [OCP 8 book] [Practice tests book] [Blog] [JavaRanch FAQ] [How To Ask Questions] [Book Promos]
Other Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, TOGAF part 1 and part 2
Originally posted by Jeanne Boyarsky:
Why would each new hire have to download these? I'd want to know everyone has the same version and download them once (per release or significant bug fix.)
-Nate
Write once, run anywhere, because there's nowhere to hide! - /. A.C.
Originally posted by Nathan Pruett:
OK, ok.... Instead of "download" - copy off a network drive and install. But if you have a project repository set up on your local network, this is what Maven's doing for dependencies too.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Originally posted by Ilja Preuss:
The question remains: why setup up an additional Maven repository when the version control repository can already do what you need?
Often the most important part of the news is what they didn't tell.
Originally posted by Ilja Preuss:
The question remains: why setup up an additional Maven repository when the version control repository can already do what you need?
Originally posted by Paul Clapham:
We have an Eclipse project named "Jars" where we stash all the jars we use for our various projects.
They are. That's the second step. The first step is to have a repository of jars to choose from, and the second step is to copy selected jars into the projects where they belong.Originally posted by Gregg Bolinger:
Why can't the JAR files be packaged in version control with the project?
Originally posted by Paul Clapham:
They are. That's the second step. The first step is to have a repository of jars to choose from, and the second step is to copy selected jars into the projects where they belong.
I think you and I are pretty much agreeing here. When I set up a project I'm going to configure it with the various jars that it needs. That only needs to be done once in most cases.
Edit: Just to clarify. The second step is to put entries in the build path of the project that refer to the jars in the Jars project. We don't actually copy the jars into other projects.
[ January 02, 2008: Message edited by: Paul Clapham ]
Often the most important part of the news is what they didn't tell.
Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
I suggest huckleberry pie. But the only thing on the gluten free menu is this tiny ad:
Smokeless wood heat with a rocket mass heater
https://woodheat.net
|