Sonatype is moving forward with commercial products augmenting the open-source Apache Maven build manager for Java, readying a repository manager and a product linking Maven to the Eclipse IDE. |
Maven also provides an extensive range of plug-ins for automatic report generation. Report generation in Maven 2 is easy: you just add the report plug-ins you need into the reporting section at the end of the pom.xml file. |
Have you ever been assigned to an existing project where the original programmers are nowhere to be found? Or given source code from a third party and told to fix a bug, only to find there isn't any decent documentation? Avoid some of these resulting headaches by using Maven to generate code-level documentation for your projects. Maven ties together a build management system and various third-party source code analysis tools to help you get your projects out the door faster. |
In this article we'll take a realistic, hands-on approach to learning about enterprise resource management with Maven 2. The example application, built on EJB 3, uses JSF for the presentation tier. The glue between the two frameworks is JBoss Seam, which facilitates smooth collaboration between EJB 3's resources (session beans and entity beans) and JSF's (managed beans and JSF views). In addition to learning the basics of enterprise resource placement in Maven 2, you'll learn where Seam-specific resources fit into Maven's seemingly rigid structuring of project archetypes (JAR, WAR, POM, EAR, EJB, and so on). |
Below is a listing of the elements directly under the POM's project element. Notice that modelVersion contains 4.0.0. That is currently the only supported POM version for Maven 2 and is always required. The Maven 4.0.0 XML schema definition is located at http://maven.apache.org/maven-v4_0_0.xsd. Its top-level elements are as follows: |
The declarative, lifecycle-based approach used by Maven 1 is, for many, a radical departure from more traditional build techniques, and Maven 2 goes even further in this regard. In this article, I go through some of the basic principals behind Maven 2 and then step through a working example. Let's start by reviewing the fundamentals of Maven 2. |
The company's Nexus 1.0 product is a Maven repository manager; the Maven Central Repository itself features a repository for binary artifacts and publicly available project metadata, the company said. |
|
This excerpt from Maven: A Developer's Notebook is the first in a two-part series on Maven's reporting and publishing tools. In this excerpt, you'll learn how to use the reports for mailing lists, project members, issue tracking, and dependencies. You'll also see the reports generated for test results and code checking. Finally, you'll learn how to aggregate all of these into a single project quality dashboard. |
You may already be using Maven, a build tool that attempts to put structure around your build environment. As part of this, Maven comes with a very rich set of plugins that provide enhanced functionality such as running JUnit tests; building .jar, .war, and .ear files; and generating reports like JCoverage, Clover, PMD, or Simian. However, what happens when your favorite tool doesn't have a corresponding Maven plugin? This is where writing your own Maven plugin allows you to add new functionality to Maven. |
Maven takes a different approach. You fill in the details of your project in an XML file, and a wealth of prebuilt functionality becomes available immediately. What's even better is that you can leverage any Ant task inside of your new Maven project. |
O'Reilly's Maven: A Developer's Notebook helps you get your projects up and running quickly, and then offers an in-depth survey of Maven's more advanced features, like its plugins and support for team collaboration. In the sample chapter "Maven Jump-Start" (656K PDF), authors Vincent Massol and Timothy M. O'Brien show you how to install Maven, kick off your first build, and start investigating its features for integrating with IDEs and source control systems. |
In last week's excerpt from Maven: A Developer's Notebook, you began to explore some of Maven's project reporting tools, learning about the reports for project membership, issue tracking, test results, code tracking, and overall project code quality. |
Maven is a high-level, intelligent project management, build and deployment tool from the Apache project. There is nothing that Maven does that Ant cannot do. Ant gives the ultimate power and flexibility in build and deployment to the developer. Why do you need Maven then? Maven adds a layer of abstraction above Ant (and uses Jelly). Maven can be used to build any Java application, but in this article we will investigate the applicability of Maven from a J2EE standpoint. J2EE build and deployment as we know it today is pretty much standardized. Every enterprise has some variations, but in general it is all the same: deploying EARs, WARs, and EJB-JARs. Maven captures this intelligence and lets you achieve the build and deployment in about 5-6 lines of Maven script compared to dozens of lines in an Ant build script. In other words, Maven simplifies a developer's life. Everybody loves things to be simple right? |
Maven is a popular build tool available for java developers. One of the benefits of maven is that helps to reduce the duplication of dependent software libraries (jars) required to build an application. The maven suggested approach is to store all the software libraries in a remote store called a repository. |
In this article, I'll explain exactly what Maven is and which problems it attempts to solve. Then, I'll walk you through automating your own build process using Maven. As Ant currently is the most popular build tool in the Java arena, this article also assumes the reader has a basic understanding of it. |
If you think that Maven could help your project, you can find out more information about in the "About Maven" section of the navigation. This includes an in-depth description of what Maven is, a list of some of its main features, and a set of frequently asked questions about what Maven is. |
Much of Maven's build power comes from Jelly, a Java technology- and XML-based scripting and processing engine. Jelly features numerous executable tags based on JSTL (JSP Standard Tag Library), Ant, Velocity, and many other tools. Jelly also supports Jexl (Java Expression Language), an extended version of JSTL Expression Language. |
Maven is an excellent build tool, with powerful features for large projects. If that's all it did, it would be invaluable. However, in addition to its build features, Maven also has plugins that contain powerful documentation and testing features. |
Make was quite a handy tool in its day. Ant has revolutionized automated builds. Maven has taken build transparency and automated development and deployment to a whole new level. If you haven't caught the maven bug yet, it's time to take a deeper look now that the next generation—Maven 2—is available. If you're already working with Maven but are interested in M2, scroll down a little and get started! |
The benefits of Maven 2.0 are numerous, as it does more than merely build your projects. If you are just starting a new Java project and you need to get started fast, Maven 2.0 will have you up an running in minutes. The following are some of the advantages of Maven 2.0: |