Apache Maven 1.0 Released
darthcamaro writes "internetnews.com is running a story on the release of Apache Maven 1.0 this week. Maven is a very robust project-management and project comprehension tool that is unparalleled in either open source or proprietary software. 'Maven has a long history of pushing out beta after beta, so this is definitely an important release,' Jason Van Zyl, Maven architect release manager, told internetnews.com. 'For users it means that they will have something reliable now for their production builds.' From some of the comments that Van Zyl makes in the story though, it look like the upcoming 2.0 version will be the real killer app, though 1.0 is certainly nothing to sneeze at either..."
http://maven.apache.org/
If it's a visualization tool... where are the screenshots?!
It's for karma whoring!
The parent post is right-on.
I also am a manager of sorts (CIO) and we are currently farming out 20-30% of our work (mostly backend and server development) to India.
We once standardized our webapp on Apache (Maven included) with MySQL but have since moved to IIS on Advanced Server 2003 with Oracle 10g on the servers.
Mod parent down, thats the wrong site.
I would imagine there are a lot of people (like me) who had *no idea* what this is or what it is for. Here is the one paragraph definition of it FTA:
:(
"Maven defines itself as a project-management and project-comprehension tool. Its project object model (POM) controls the development and management of a project. The POM controls builds, document creation, site publication and distribution publication and can be stored in an XML file. Maven also provides a set of tools to enable developers to automatically generate a number of critical items, such as source metrics; mailing, developer and dependency lists; software development process documentation; change logs based directly on source repository; and source cross-references."
In other words, it looks like a cross between the head cheese coding despot on any development project mailinglist and an automated webmaster thingee.... a management worker bot whatever.. it's a....
I still don't know what it is
We have started using Maven for in-house development and it really simplifies things. Being able to declare dependencies on libraries, etc, and have Maven go and grab the correct versions during build is cool enough, but all of the reporting and site building tools are really incredible. The PHBs were very impressed with the code analysis reports that it generates, and the CVS annotation of code is very nice for our internal sites. It takes a little getting used to, but if you've used Ant, you're halfway there.
Derek
Don't Panic...
The Bileblog has an alternative view on Maven.
I, for one, am glad to see this project get moving. I'd love to see open-source and closed source projects get real project managers using real project management software.
Everyone will be more organized that way!
Get rid of everything Micro and Soft: Buy Viagra and/or Linux
Anybody have links to screenshots?
Sadly, the headline also left out the rather key information that this tool is for Java projects only.
... alas, this one is yet another myopic product of the "Java is the whole universe" generation.
... but there is a larger world out there you know.
I was quite looking forward to a revolutionary project management tool
Java is great
I was wondering the same (see my reply below). I checked his previous posts, and he has been asked this before, and answered...
"AI backed Maoists in Nepal"
That might help... off to google I am.
This is only for Java projects, it seems.
Oceania has always been at war with Eastasia.
Hum, this headline caused me some confusion.
:)
In danish 'maven' is the word for stomach.
Well, can't win them all
I only read slash. for the articles...
I'm trying to get it to run on windows.
I must not have the right "Java" as it is telling me it can't lib/tools.jar so I'm going to go grab the latest jdk and see what happens.
For anyone getting the JAVA_HOME environment variable not set, a reminder is that you can set env. vars by right clicking on my computer and going to advanced and then there's an environment vars button.
The man who trades freedom for security does not deserve nor will he ever receive either. - Benjamin Franklin
Why do submitters always say "of course" like everyone on the fucking planet should now what these things are innately? How many casual users use Maven anyway?
Maven is also a perfectly good english word, meaning "expert".
I must tell you something. Please don't blame me I'm just the messenger:
Your sense of humour is inexistant.
Now there might be several reasons:
1. You never had one. This situation is not desperate, but will require some work.
2. You lost it. Go get it!
Cheers
Write boring code, not shiny code!
So I am not the only person who had bad experiences with Plone? Good to know it was not my own dumbness alone that led me to the conclusion Zope would be a good idea if the Zope people stopped having revolutionary ideas and sat down to document and clean up what they already have... :)
Another part of this project (or at least one that depends on it) is the Jelly project. It allows you to define a GUI (SWT or Swing) in an XML file. I suppose it's similar to XUL, but it's an interesting project nonetheless.
Jelly SWT
Codebusters?
Every mans' island needs an ocean; choose your ocean carefully.
It appears quite a few have an ax to grind when more than half the posts are moderated "-1"
Is it just me, or does this seem like another cleverly placed advertisement?
Tyler: You don't know where ive been, Lou. YOU DONT KNOW WHERE IVE BEEN!!
So, this is some java thing?
Aside from that, I know that Maven reads from an xml based config file that's in the project directory.
What I got from JAM that is useful to me:
Unfortunately most people seem to hate it. Maybe thats just my bias because I tried it and found it a complete pain in the ass to work with. I dont like supposed development aides thats want to tell me how I should organise everything to suit its quirks rather than my preferences. Its really irritating when this demands vast amounts of configuration to achieve and requires a scripting language who creator has apologised for creating an abomination.
Think I (and many others) will stick with ant for the time being
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
Bloated project management software helped kill Netscape - they spent all their time farting around with a bugtracker when they should have been fending off Microsoft.
Apache doing non-web server things makes me worried.
Maven may be "neat" to some, but it also has real issues...
This is a dumb question.
Is there a FOSS competitor to Microsoft Project, or do we have nothing in that area yet?
Is it really Java only? It's written in Java yes, it supports many common Java paradigms - would it not be fairly simple to use doxygen rather than javadoc, gcc rather than javac, nunit rather than junit etc etc.
Ant allows this, and I understand Maven to be an evolution of build tools, so I don't see why it should not be project-development-technology-agnostic.
Unable to read configuration file '/bigassraid/htdig//conf/14229.conf'
Geocrawler error message.
Hoyven maven! Nggyai...
"Sic Semper Tyrannosaurus Rex."
Not true. It uses ant, ant can do anything (think of it as a replacement for make). People here build C, C++ and a bunch of other stuff using ant. With the correct modules you wrap all that up (with your Java components) into one nicely managed project.
Sure it's written _in_ Java, but it's not just _for_ Java (but naturally, the user community is heavily biased in that direction).
---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"
C:\maven-1.0>bin\maven
:)
.__ __
| \/ |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
|_| |_\__,_|\_/\___|_||_| v. 1.0
BUILD SUCCESSFUL
Total time: 1 seconds
Finished at: Fri Jul 16 17:34:27 EDT 2004
---
It's a console app. You call it and it builds "stuff", much like Ant does. I don't really know much more than that right now, though, so no complicated questions please.
(Oh, and that "screenshot" is messed up, I had to add a "." to make sure it stayed indented properly, Slashdot messed it up otherwise.)
You are in a maze of twisty little relative jumps, all alike.
It's technically possible but part of the point of the thing is that you don't have to spend forever writing build scripts to get going. So once there's a set of users writing plugins with better support for (e.g.) C# and C++, sure it'll be agnostic.
Right now it's effectively a Java tool since most of the plugins are for Java (jar, javac, javadoc, junit, etc).
I was hoping it was a project management system, not a programming project management tool, not a java thing. Nothing to see here for me; I'll move along now.
The PHBs were very impressed ...
I didn't follow whether this was intended as praise or criticism.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
Not everyone seems to be fond of Maven. This guy lists both pros and cons with Maven, but lands on the negative side.
I havent used Maven myself, but since this was mostly a very positive announcement, I guess it cant hurt to point to another point of view.
The project is no longer stagnant.
The man who trades freedom for security does not deserve nor will he ever receive either. - Benjamin Franklin
I've only used Maven in the way that it has been part of projects that I've downloaded.
Something that gives me reservations is the way that it manages library dependencies by downloading them into the project tree. On a Unix system this feels inconsistent because I prefer to manage installed software (libraries) on a system-wide basis.
It would be nice if there were a consensus on Java library dependency resolution/installation. I used to use the exellent jpackage.org on Mandrake, but now I appreciate the source compilation aspect of Gentoo (although many of Gentoo's Java packages are old). A combination of the two would be ideal.
And whilst I'm forming a wishlist, I'd also like Java applications to have greater integration with the system, not on the desktop, but in the way that multiple invocations might have less of a memory penalty (like a Java subsystem).
- Brian.
I've found Maven to be very handy. It can be really hard to write a portable build script in Ant (especially if you use several external JARs). Maven will automatically download dependencies and build your classpath.
Back when I used Ant I had to write a new build script for every project. Maven is able to handle most of that kind of thing for you.
If you actually read up on Maven, you would realize this this is completely orthogonal functionality to MS Project. Maven is a more of a build management tool for java (and only java) software projects. Its a glorified ant with some additional bells and whistles.
All's I know is that I go to the project directory I just downloaded from CVS, I type
maven eclipse
and all the extra files and shit I need for the project to compile and work are automatically there.
So far then, we've established that it's entirely opaque. OK, I feel we're getting there.
Might I enquire why you are answering to me? I was quietly trolling over a post that didn't get the humoristic side of its parent. I wasn't comparing Maven and MSP...
Sadly, the headline also left out the rather key information that this tool is for Java projects only.
Actually, no, it's not. We use it to build C code, install and configure Oracle and DB2 databases, automate some OpenSSL stuff, put together PHP sites, and rsync stuff all over the place. We also use it for managing our main Java app as well.
Just the tool is Java-based.
$0.02 (CDN)
The weblog item was obviously just a huge flame, so I won't comment on the content.
:-)
However, it's easy to relate to the feelings that the author expressed so magnificently. I've come across other projects where the problem is entirely the myopia of the (very specifically) Java-centric personnel, to the extent of pushing slightly wider-read developers to other pastures.
I put it down to the fact that Java is often taught in college as the one and only programming language, due simply to lack of time to educate students more broadly. They then go out and are totally dead to the concept that anything exists outside of the Java universe. Reasoned argument about integration falls on deaf ears.
Maybe the weblog author had a similar experience with the Maven developers. It can be very frustrating.
Cat: "What is it?"
Cryten: "a project-management and project-comprehension software tool that uses a Project Object Model with XML storage"
(blank, smiling stare)
Cat: "What is it?"
Cryten: "a project management tool that increases developer productivity when working on Java projects."
(blank, smiling stare)
Cat:"What is it?"
Holly: "a computer thingy"
Cat: "Aaaaaah. Now why didn't you say that in the first place?"
(everything I needed to know, I learned watching Red Dwarf!)
Please help metamoderate.
But there is a good middle ground between roll-your-own-ant and Maven, and it's called Javagen Ant Modules (JAM) ...
That's very bad news, because the open-source build tool "jam" already exists and has been around for a very long time. And it's really good too.
People really ought to google a bit before picking names for their project tools. Sure, names can often be reused without conflict, but here both jam's are program build tools, and that's just plain short-sighted.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
Gantt Project
It's similar enough to Microsoft Project. Gantt Charts have been a project management standard for almost 100 years.
Linux, Mac OS X, Windows. It's Java, so take yer pick. GPL'd too.
My father is a blogger.
You're right. I wasn't proposing that this is a replacement for MS Project. All I'm saying is that I'm glad there's some focus on project management and I'm hoping for more!
Get rid of everything Micro and Soft: Buy Viagra and/or Linux
Maven is probably best thought of as a java equivalent to portage, i.e. it concerns itself with fetching, building, packaging (including metadata like authors and such), and version tracking. It just lacks a browseable set of package skeletons the way ports and portage does. ... kewl".
I used maven about a year ago, and I found it to be incredibly slow, bloated, underdocumented, amateurish, slipshod, and oh yes, buggy. It seems designed around some sort of "kitchen sink" approach of "xml is kewl, plugins are kewl, let's glom it all together and make something
Honestly, whenever I see the word "plugin", I think someone hasn't really designed things well. Instead of providing a coherent app, they make a library of functions and let random piecemeal bits added after the thought take over the actual functioning. I'm not knocking component design, just the typical thought process that goes into typical "plugin" architectures. Stick with ant, you'll be much more sane for it.
I've finally had it: until slashdot gets article moderation, I am not coming back.
Why Maven Sucks
The bile you linked is just a reminder so no one forgets that it indeed still sucks.
It is a Build Tool, not a "project management tool".
What it builds are software programs.
What it was designed for and is good at is building the software called "Apache". The more a software development project looks like the Apache one, the more likly it is a useful tool for that project.
You want a management tool. This is NOT it.
You want a nonsoftware project tool. This is NOT it.
You want a build tool for a research software project, say in AI or written in LISP. This is NOT IT.
You want a build tool for far flung contributors writting code in Java (or java like language) with all the structural details about the project already known. Bingo!!! This is the tool for you.
Maven is a very robust project-management and project comprehension tool
Uhm... what?
Please to be advised based on your excellent and technical analysis and subsequent implied recommendation, that I will not download and install this software, thereby saving both ends of my anatomy from any painful interactions. It was close, too, very, very close.......
zogger
Check out http://qbal.mozdev.org I've been building engineering intranet sites since 1995... although inferior to Mavens techology. I'm in the process of coming up to speed on developing in the Mozilla environment using XUL and will be initially building a framework to build and manage linux distros and will follow that up with the rest of the QBAL applications. QBAL will scale to manage corporate engineering organizations where 100's of projects are occuring at any given time. There are 27 applications in all. The work will be GPL'd.
Kramer
I posted earlier anonymously. I'm bulding a superset of what Maven provides for Linux distros and projects. Been building engineering intranet sites since 95 that provide some of the features maven has along with some features maven does not have. QBAL will be GPL'd. I'm coming up to speed on Mozilla/XUL now and will have something ready this fall. Take a look at http://qbal.mozdev.org to get an idea of the scope.
Bigusputicus
Maven is not a general purpose Java build system, so i doubt it will ever overtake Ant's popularity.
The main problem is that it can only build projects with certain very rigid structures, it also has a number of features that should never be part of a build system at all, such as documentation generation and repository management. None of these extra functions it does particularly well.
For example if you want a shared jar repository - it would be quite simple to come up with something more sophisticated that Maven in few lines of an Ant script.
The documentation generation functionality didn't require a new alternative build system to be created.
The underlying problem is that Maven was never designed as a general purpose system, it grew out of a custom system designed for the Jakarta project, which is open source Java project consisting of a number of dependent jar libraries. The main goal of Maven is to manage the dependencies between these libraries and build the Jakarta documentation sites.
If your project is similar to the Jakarta project then you might find it useful, otherwise i would steer clear.
It's a system for building software, similar to "make".
It's a way of scripting all of the steps required to deliver software in it's final state.
A typical project-build for me often includes stuff like getting the latest library files that work with my code, compiling source to byte-code, byte-code enhancement (e.g for JDO object persistence), packaging into JAR files, inserting macros into config files and source code for server-names, test login and passwords, etc., then copying a myriad of files into various places, starting and stopping system services (like Tomcat), then executing tests, building JavaDoc documentation, then uploading all to a webserver.
Maven automates the process of doing this. You can do the same sorts of things with Ant (which Maven uses, also), but after your 5th or 6th project you end up saying to yourself "hey, I keep writing the same stuff over and again", and improvements to your build process in one project don't get percolated through to the older ones.
I'm certainly looking forward to adopting this in our work environment... I'm DEFINITELY spending far too much time writing build scripts, so it's people like me that need this.
Apparently, you don't do much coding?
which is why the axkit package is such a feature...
gET bACK tO yOUR cOCKSUCKING!
As did the Belgian government - another brilliant idea from the 'watermelon' green party.
And if you think that all you need to effectively manage a project is some Gantt charts, then I have an EULA I'd like you to sign.
I think what the parent poster was hoping for (as was I) was a Project Management system. Gantt charts alone don't cut it.
My beliefs do not require that you agree with them.
Svetty Horsey!
please be aware that not everything that happens / is happening in the world is on the new or is everything online. I speak from personal experience and my interaction with people from AI. take it for whats it worth, or dont. The BBC has a lot of good (though biased) stories about the conflict in nepal and how human right groups made it worse by intervening or sideing with one party or the other.
The war with islam is a war on the beast
The war on terror is a war for peace
Idiot Java/XML heads constantly re-inventing the wheel.
Idiot Java/XML heads constantly re-inventing the wheel.
Idiot luddites refusing to see progress when it smacks them in the face.
---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"
The lead developer, Jason van Zyl, thinks that OS specific packaging of Java artifacts is pointless, and that there is no reason, ever, to rebuild an artifact from source.
Give them a few years, and they'll probably come up with some sort of real package management system. They just need to go through the pains that all binary-only distribution systems have to go through. Atm, they seem to be destined for the CVS snapshot hell.
The other question is how relevant Maven is going to be outside the Windows world anyway.
What, then, is the progress? As I asked in my post, 'what, exactly, do maven or ant buy which make does not provide?' As I noted, they are written in an ugly language; they use an ugly syntax (XML has all the bad points of S-expressions and few of the good); they do not work with auto*. I did note that make has a bad point.
I also looked at a few sites trying to get an answer. As far as I can see, switching to maven or ant buys me nothing but pain.
Note: I am not an Java developer or Ant user.
Try the 2nd paragraph of http://ant.apache.org/ for one answer.
"Ugly language/syntax" is subjective. (Personally, I think makefiles and XML files are equally ugly, and don't even get me started on auto*.) Fortunately, with the tools available today (e.g. http://www.eclipse.org/), we have few excuses to manually edit these sorts of files. Therefore, "prettiness" is of little consequence.
I don't know if there is a solution for auto* integration. We have to keep in mind that Ant was designed for use with Java, which has no need for such kludges.
Also, make/automake/autoconf/autoheader/... can be quite complicated and confusing. Whereas ant (and presumably maven) are pretty simple by comparison.
Female Prison Rape in NY