This document provides an overview of Apache Maven 3.x, including its history, key features and criticisms. Maven is a build automation tool that manages project builds and dependencies. Version 3.x focuses on backward compatibility, performance improvements through parallel builds and caching, enhanced extensibility through new APIs, and increased robustness with additional validations and error handling. The document discusses criticisms of prior versions and how Maven 3.x aims to address them.
My presentation on Maven for the Durban Java User Group meeting, held at Thumbtribe's offices. As I'm not happy with everything as-is, my aim is to improve the presentation with an accompanying project which I need to set up in a proper environment so that it can serve as a fully functional example. To follow progress, keep an eye on the following blog post:
http://johanmynhardt.blogspot.com/2011/05/maven-from-scratch-to-production.html
This presentation provides a comprehensive overview of Maven 3 including lifecycles and a detail of the default lifecycle and the associated phases within.
The presentation is related to the firm where I rebuilt an existing non-maven project to the maven-based project with the best willingness of a proper modularity designs.
The Demos in this presentation are related to source code which is not attached.
My presentation on Maven for the Durban Java User Group meeting, held at Thumbtribe's offices. As I'm not happy with everything as-is, my aim is to improve the presentation with an accompanying project which I need to set up in a proper environment so that it can serve as a fully functional example. To follow progress, keep an eye on the following blog post:
http://johanmynhardt.blogspot.com/2011/05/maven-from-scratch-to-production.html
This presentation provides a comprehensive overview of Maven 3 including lifecycles and a detail of the default lifecycle and the associated phases within.
The presentation is related to the firm where I rebuilt an existing non-maven project to the maven-based project with the best willingness of a proper modularity designs.
The Demos in this presentation are related to source code which is not attached.
A flash lecture given at the JJTV Tool Night #4 on 6 November, 2012.
The full lecture video (in Hebrew) can be found at http://www.youtube.com/watch?v=ozl6oBmAj1Y
This is a introduction to Maven 2. For more information visit http://jpereira.eu/2012/05/03/an-introduction-to-maven-2/
If you want to download the editable presentation contact me (find my contacts on my blog)
Spring 3.1 to 3.2 in a Nutshell - Spring I/O 2012Sam Brannen
Spring 3.1 introduced several eagerly awaited features including bean definition profiles (a.k.a., environment-specific configuration), enhanced Java-based application and infrastructure configuration (a la XML namespaces), and a new cache abstraction. This session will provide attendees a high-level overview of these major new features plus a quick look at additional enhancements to the framework such as the new c: namespace for constructor arguments, support for Servlet 3.0, improvements to Spring MVC and REST, and Spring's new integration testing support for profiles and configuration classes. In addition, this talk will introduce new features under development in the Spring 3.2 roadmap.
As the leading full-stack application framework for Java SE and EE, the Spring Framework continues to deliver significant benefits to Java developers, increasing development productivity and runtime performance while improving test coverage and application quality.
In this talk, core Spring Framework committer Sam Brannen will provide attendees an overview of the new features in Spring 3.2 as well as a sneak peak at the roadmap for 4.0.
Spring Framework 3.2 builds on several themes delivered in 3.1 with a continued focus on asynchronous MVC processing with Servlet 3.0, support for using @Autowired and @Value as meta-annotations, support for custom @Bean definition annotations, and early support for JCache 0.5. Regarding the internals, CGLIB 3.0 and ASM 4.0 have been inlined, and the framework is now built with Gradle and hosted on GitHub. For those interested in testing their Spring-based web applications, Spring 3.2 offers new support for loading WebApplicationContexts in the TestContext framework, and the formerly standalone Spring MVC Test project is now included in the spring-test module, allowing for first-class testing of Spring MVC applications.
Learn All Aspects Of Maven step by step, Enhance your skills & Launch Your Career, On-Demand Course affordable price & classes on virtually every topic.Try Before You Buy
Maven is a build automation tool used primarily for Java projects. This presentation will cover the basics of Maven and its usage while developing Java application.This is for anyone interested to learn Maven especially the Java developers.
The presentation walks you through Apache maven and how to do a build management for java based applications. It starts with basic introduction on the technology and how it plays an important role for build management. The presentation then talks about details on how the maven works and its philosophy to creating builds. Furthermore, it also covers in detail the plugins based architecture to better understand how to use maven effectively.
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDevWerner Keil
At Maersk Line, not only the world's biggest container ships, the 'Triple-E' class vessels were built. Continuous Integration and Delivery on a similar scale using Hudson, Maven and tools like Kokki (similar to Puppet or Chef, but written in Python) are also practiced there.
This session is going to give a brief overview of Multi-Configuration (Matrix) job types used in most projects at Maersk around the globe.
Things are being built and deployed in a heterogenous environment, otherwise probably found only at very large vendors of Public Cloud services like Google or Amazon. Provisioning of various OS is automated through Vagrant.
Management and Planning of all tasks and 'Sprints' is following Agile principles, especially DevOps style Kanban. Where possible planned and controlled by Eclipse-based tools such as Mylyn Connectors accessing planning tools like TeamConcert, Xplanner or Mantis. While feature projects use Eclipse for Java or Scala/Play!, the DevOps teams use PyDev for Jython/WSTL or Python development.
Automated Infrastructure with Vagrant, Puppet and Docker by Laurynas Tretjakovas
Learn the common pitfalls and challenges of manual infrastructure and how automated and versioned infrastructure can help you in continuous integration, continuous delivery and overall development process. The presentation will also cover some of the most common infrastructure examples when building and deploying Java application
A flash lecture given at the JJTV Tool Night #4 on 6 November, 2012.
The full lecture video (in Hebrew) can be found at http://www.youtube.com/watch?v=ozl6oBmAj1Y
This is a introduction to Maven 2. For more information visit http://jpereira.eu/2012/05/03/an-introduction-to-maven-2/
If you want to download the editable presentation contact me (find my contacts on my blog)
Spring 3.1 to 3.2 in a Nutshell - Spring I/O 2012Sam Brannen
Spring 3.1 introduced several eagerly awaited features including bean definition profiles (a.k.a., environment-specific configuration), enhanced Java-based application and infrastructure configuration (a la XML namespaces), and a new cache abstraction. This session will provide attendees a high-level overview of these major new features plus a quick look at additional enhancements to the framework such as the new c: namespace for constructor arguments, support for Servlet 3.0, improvements to Spring MVC and REST, and Spring's new integration testing support for profiles and configuration classes. In addition, this talk will introduce new features under development in the Spring 3.2 roadmap.
As the leading full-stack application framework for Java SE and EE, the Spring Framework continues to deliver significant benefits to Java developers, increasing development productivity and runtime performance while improving test coverage and application quality.
In this talk, core Spring Framework committer Sam Brannen will provide attendees an overview of the new features in Spring 3.2 as well as a sneak peak at the roadmap for 4.0.
Spring Framework 3.2 builds on several themes delivered in 3.1 with a continued focus on asynchronous MVC processing with Servlet 3.0, support for using @Autowired and @Value as meta-annotations, support for custom @Bean definition annotations, and early support for JCache 0.5. Regarding the internals, CGLIB 3.0 and ASM 4.0 have been inlined, and the framework is now built with Gradle and hosted on GitHub. For those interested in testing their Spring-based web applications, Spring 3.2 offers new support for loading WebApplicationContexts in the TestContext framework, and the formerly standalone Spring MVC Test project is now included in the spring-test module, allowing for first-class testing of Spring MVC applications.
Learn All Aspects Of Maven step by step, Enhance your skills & Launch Your Career, On-Demand Course affordable price & classes on virtually every topic.Try Before You Buy
Maven is a build automation tool used primarily for Java projects. This presentation will cover the basics of Maven and its usage while developing Java application.This is for anyone interested to learn Maven especially the Java developers.
The presentation walks you through Apache maven and how to do a build management for java based applications. It starts with basic introduction on the technology and how it plays an important role for build management. The presentation then talks about details on how the maven works and its philosophy to creating builds. Furthermore, it also covers in detail the plugins based architecture to better understand how to use maven effectively.
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDevWerner Keil
At Maersk Line, not only the world's biggest container ships, the 'Triple-E' class vessels were built. Continuous Integration and Delivery on a similar scale using Hudson, Maven and tools like Kokki (similar to Puppet or Chef, but written in Python) are also practiced there.
This session is going to give a brief overview of Multi-Configuration (Matrix) job types used in most projects at Maersk around the globe.
Things are being built and deployed in a heterogenous environment, otherwise probably found only at very large vendors of Public Cloud services like Google or Amazon. Provisioning of various OS is automated through Vagrant.
Management and Planning of all tasks and 'Sprints' is following Agile principles, especially DevOps style Kanban. Where possible planned and controlled by Eclipse-based tools such as Mylyn Connectors accessing planning tools like TeamConcert, Xplanner or Mantis. While feature projects use Eclipse for Java or Scala/Play!, the DevOps teams use PyDev for Jython/WSTL or Python development.
Automated Infrastructure with Vagrant, Puppet and Docker by Laurynas Tretjakovas
Learn the common pitfalls and challenges of manual infrastructure and how automated and versioned infrastructure can help you in continuous integration, continuous delivery and overall development process. The presentation will also cover some of the most common infrastructure examples when building and deploying Java application
BP-10 Keeping Your Sanity – Rapid Development & Deployment ToolsAlfresco Software
There are many variations for deploying customizations into an Alfresco installation. Working as a global team on multiple projects, Blue Fish Development Group has created a set of processes, using standard tools such as Maven and Ant, to keep the development and deployment cycle sane. Working as a team presents challenges for maintaining source control and being able to quickly roll out the latest version of changes, and managing multiple projects requires the ability to quickly stand up a development environment and begin testing changes. You’ll learn Blue Fish’s procedures and walk away with a basic set of tools that will let you build your own development/ deployment framework that will reduce cycle time, improve repeatability and revert to a known/clean state.
Setting up an ONAP development environment is not easy. Development tools and practices are not collected in a single place. This project pretends to collect and standardize that process.
Seminar about docker and its containerization capabilities during the "Aggiornamento Agile" event of Club degli Sviluppatori in January 2015, in Bari (Italy)
The Information Technology have led us into an era where the production, sharing and use of information are now part of everyday life and of which we are often unaware actors almost: it is now almost inevitable not leave a digital trail of many of the actions we do every day; for example, by digital content such as photos, videos, blog posts and everything that revolves around the social networks (Facebook and Twitter in particular). Added to this is that with the "internet of things", we see an increase in devices such as watches, bracelets, thermostats and many other items that are able to connect to the network and therefore generate large data streams. This explosion of data justifies the birth, in the world of the term Big Data: it indicates the data produced in large quantities, with remarkable speed and in different formats, which requires processing technologies and resources that go far beyond the conventional systems management and storage of data. It is immediately clear that, 1) models of data storage based on the relational model, and 2) processing systems based on stored procedures and computations on grids are not applicable in these contexts. As regards the point 1, the RDBMS, widely used for a great variety of applications, have some problems when the amount of data grows beyond certain limits. The scalability and cost of implementation are only a part of the disadvantages: very often, in fact, when there is opposite to the management of big data, also the variability, or the lack of a fixed structure, represents a significant problem. This has given a boost to the development of the NoSQL database. The website NoSQL Databases defines NoSQL databases such as "Next Generation Databases mostly addressing some of the points: being non-relational, distributed, open source and horizontally scalable." These databases are: distributed, open source, scalable horizontally, without a predetermined pattern (key-value, column-oriented, document-based and graph-based), easily replicable, devoid of the ACID and can handle large amounts of data. These databases are integrated or integrated with processing tools based on the MapReduce paradigm proposed by Google in 2009. MapReduce with the open source Hadoop framework represent the new model for distributed processing of large amounts of data that goes to supplant techniques based on stored procedures and computational grids (step 2). The relational model taught courses in basic database design, has many limitations compared to the demands posed by new applications based on Big Data and NoSQL databases that use to store data and MapReduce to process large amounts of data.
Course Website http://pbdmng.datatoknowledge.it/
Contact me to download the slides
Top Maven Interview Questions in 2020 | EdurekaEdureka!
YouTube Link: https://youtu.be/5iTcAR4fScM
**DevOps Certification Courses - https://www.edureka.co/devops-certification-training***
This video on 'Maven Interview Questions' discusses the most frequently asked Maven Interview Questions. This PPT will help give you a detailed explanation of the topics which will help you in acing the interviews.
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
Presents an overview of Apache Maven, a famous declarative build tool widely used in the Java ecosystem, focussing on philosophy, qualities and characteristics. To learn Maven, see www.sonatype.com/book/.
This is OpenTalkWare www.opentalkware.org cc-by-3.0 by Robert Burrell Donkin http://robertburrelldonkin.name
Presented at STPCon 2016. With the extensive amount of testing performed nightly on large software projects, test and verification teams often experience lengthy wait times for the availability of test results of the latest build. As we strive to identify and resolve issues as fast as possible, alternative methods of test execution have to be found. Learn how to use Jenkins to launch tests in parallel across a number of Virtual Machines, monitor execution health, and process results. Learn about various Jenkins plugins and how they contributed to the solution. Learn how to trigger downstream jobs, even if they are on separate Jenkins instances.
Understand benefits and pain points of cloud, local and vagrant based development
Describe a development flow that combines vagrant and AWS to create a:
consistent environments for all developers
consistent environment from development to production
help organizations move fast – if they are not already doing this
integrate nearly flawlessly with AWS
Ease Development <-> Production Software Deployment
Similar to BordeauxJUG-Maven 3.x, will it lives up to its promises (20)
Java is evolving rapidly: Maven helps you staying on trackArnaud Héritier
Java evolution is getting faster these days, and that's a great thing. Nowadays, one jave version is deprecated every 2 years:
- Java 5:october 2009
- Java 6: february 2013
- Java 7: march 2015 (really? already?)
- Java 8: march 2017 (with that one, you'll discover new types of incompatibilities...)
And you, or your applications, how do you manage upgrades?
Come and see how Apache Maven and its tooling (Animal Sniffer, Toolchains, ...) help you upgrade with confidence, at your own pace and without headaches.
Quand java prend de la vitesse, apache maven vous garde sur les railsArnaud Héritier
Le rythme d’évolution (et donc de support) de Java s’accélère ces dernières années (et nous n’allons pas nous plaindre). Désormais une nouvelle version de Java est dépréciée tous les deux ans!
* Java 5 : Octobre 2009
* Java 6 : Février 2013
* Java 7 : Avril 2015 (QUOI ? DEJA ? MAINTENANT ?)
* Java 8 : Mars 2017 (incompatibilité source vs binaire, vous allez découvrir...)
Mais vous, ou plutôt vos applications, comment gérez vous leurs transitions d’une version de Java à une autre ?
Découvrez dans cette session comment Apache Maven, et son outillage (toolchain, animal-sniffer, …) vous aident à jongler entre différentes versions de Java sans douleur pour vos projets.
Tools and processes used at eXo to develop our mobile applications (iOS & Android) including continuous integration and deployment.
Tips and tricks to setup all the infrastructure involved in them.
Overview of Maven and its concepts
Maven and its ecosystem
Good and bad practices
Usecases
Maven, and the future of Maven 3.x
---
Delta prez @GenevaJug :
New slides : 64,65,90,95
Updated slides : 49-51;66;91;92;118
Thx @fcamblor
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Generating a custom Ruby SDK for your web service or Rails API using Smithy
BordeauxJUG-Maven 3.x, will it lives up to its promises
1. Will it live up to its promises?
APACHE MAVEN 3.X
2. Arnaud Héritier
• eXo - Software Factory Manager
» In charge of tools and methods
• Apache Maven :
» Committer since 2004 and member of the
Project Management Committee
• Coauthor of « Apache Maven »
» published by Pearson (in French)
• Contact me :
» http://aheritier.net
» Twitter : @aheritier
» Skype : aheritier
2
3. Definition
• Apache Maven is a software project
management and comprehension tool.
• Based on the concept of a project object
model (POM)
» Maven can manage a project's build, binaries,
reporting and documentation from a central piece
of information.
• Apache Maven is standards/conventions
driven
» How many of you are doing JEE and related
developments ?
3
4. History
• Initiated in 2001 by Jason Van Zyl in Alexandria,
an Apache Jakarta project,
• Moved to Turbine few months after,
• Became a Top Level Project in 2003.
• Maven 2.0 released in September 2005
• Maven 3.0 released in October 2010
» 3.0.3 – March 2011
4
5. Choose your way of thinking
Conventions approach Scripting approach
5
6. Competitors
• Ant + Ivy, Easy Ant, Gant, Gradle, Buildr…
• Script oriented
» You can do what you want !
• Reuse many of Maven conventions (directories layout,
…) and services (repositories) but without enforcing
them
• The risk for them : Not being able to evolve due to the
too high level of customization proposed to the user.
» We tried on Maven 1 and it died because of that. It was
impossible to create a set of tests to cover all usages.
» It’s like providing a framework without a well tested set of
public API
6
7. With scripts oriented builds
You can have But often you have
(if you have good skills) (moreover after years …)
7
8. With Maven
We dream to deliver But yesterday we too often had
(Maven 3.x) (Maven 2.x)
8
10. Backward compatibility - Criticisms
• Migration from Maven 1 to Maven 2 was
impossible. Everything had to be re-done.
• Updates between 2.x versions and also
between 2.0.x weren’t often without side
effects.
10
11. Backward compatibility
• Near to 700 integration tests
• Tested for several months on a large set of
OSS projects
• 7 alphas + 3 betas versions
• A bug fix release every 6 weeks
• It’s a revolution under the hood but an
evolution for end users
11
14. Performances - Criticisms
• Maven is slow
• It spends its time to download the world
• Whereas everybody has multicore CPUs, it
doesn’t allow to process modules builds in
parallel
14
15. Performances
• A set of benchmark tools was developed to
measure Maven performances (IO, CPU,
Memory, Network …)
• Startup and execution times are reduced
» Java 5 optimizations
» Code cleanup and improvements
• Reduced Memory footprint
• Artifacts Resolution Caching
» .lastUpdated files in your local repo
» Enforce checks with –U option
15
16. Performances – Parallel builds
• Parallel builds
» An execution plan is predefined at startup to
define which modules could be built in //
» Requires to have up to date plugins to avoid dead
locks and some others issues
» Launch a build with 2 threads
• mvn –T 2 install
» Launch a build with 2 threads per CPU core
• mvn –T 2C install
16
17. Performances – mvnsh
• Performances optimizations
» Intelligent cache system (artifacts resolution,
project descriptors …)
» No need to restart a JVM for each build
• Cross platform « unix like » shell
» Alias, environment settings …
» Color highlighting
17
18. Performances – mvnsh
• All in one
» Includes Maven 3.x
» Allows to have color highlighting with “standard”
Maven 3.x
• Developed and freely distributed by Sonatype
18
21. Extensibility - Criticisms
• It is difficult and time consuming to extend
maven (write plugins)
» Many unknown technologies like Plexus for IOC
• It is difficult/impossible to reuse maven
plugins
» Its impossible to extend plugins/mojo and
lifecycles
21
22. Extensibility
• New APIs to improve abstraction of
underneath implementation
» Aether : to manage artifacts and repositories
• Plugin classloader partitioning
• Embeddable
• IOC replaced by Guice
» For now (3.0) a wrapper is hiding the change
» You don’t yet use Guice directly (from plugins for
example)
22
25. Robusness - Validations
• Many more validations in POMs (warnings or
errors)
» Missing plugins versions
» Duplicated dependencies in a POM
» Incoherent inheritance (wrong relative path or
parent not in the upper directory)
• Improved error messages with links to wiki
pages for more detailed information
25
26. Robusness – Artifacts management
• Parent POMs prefer to resolve from
repositories
» Version less parent will be available in a future
maven 3.x release by using the relativePath
element
• Profiles usage consolidation
» No more profiles.xml (incompatible with future
polyglot feature)
26
27. Robusness – Artifacts management
• No more support for legacy repository layout
for Maven 1.0
• SNAPSHOTs are always deployed with
timestamps
27
28. Robusness – Plugins management
• Plugin version is by default RELEASE and no
more SNAPSHOT
» Affects command-line invocation
• Plugins cannot use versions LATEST or
RELEASE
» Affects command-line invocation and POM
• Plugins are resolved only from
<pluginRepository> entries
28
29. Robusness – Site plugin
• Site plugin is now completely extracted from
Maven core
» It has its own lifecycle
» reporting section in POM becomes useless
(moved in plugin configuration)
29
31. Criticisms
• XML, we don’t like it
• POM is too verbose
• POM v4 didn’t evolve last 5 years
» When will you add new common attributes to
ease plugins configuration (encoding …)
» New feature like global exclusions
31
32. POM
• No change in POM syntax for Maven 3.0
• Changes will occur in 3.x versions
» New model with a new version
» Only new things
» Generation / deployment of 4.0.0 current POM to
keep backward compatibility with old maven
versions
• Mixins to allow to import POM fragments
32
33. POM - Polyglot
• Developed and freely distributed by Sonatype
• Extended version of Maven 3.0 using its new
embedding and extensibility capabilities
• Allow translation (read/write) from/to various
syntaxes
» Yaml
» Scala
» Groovy
• Allow macros and freeform scripting
33
35. Licence et copyrights
• Photos and logos belong to their respective
authors/owners
• Various ideas are coming from the excellent
presentation done by Matthew McCullough :
» http://www.slideshare.net/matthewmccullough/
maven-30-at-oredev
35
36. Licence et copyrights
• Content under Creative Commons 3.0
» Attribution — You must attribute the work in the manner
specified by the author or licensor (but not in any way that suggests
that they endorse you or your use of the work).
» Noncommercial — You may not use this work for commercial
purposes.
» Share Alike — If you alter, transform, or build upon this work,
you may distribute the resulting work only under the same or similar
license to this one.
• http://creativecommons.org/licenses/by-nc-sa/3.0/us/
36
39. Users Mailing List
• users@maven.apache.or • Blue :
g » Number of subscribers
» Traffic statistics cover a
total of 2025 days. • Red :
» Current subscribers: 1936 » Number of messages
» Current digest per day
subscribers: 48
» Total posts (2025 days):
89687
» Mean posts per day:
44.29
• http://pulse.apache.org/
39
42. The team
• 60 committers,
• More than 30 active in 2009,
• Several organizations like Sonatype, deliver
resources and professional support,
• A community less isolated : more interactions
with Eclipse, Jetty,
42
45. Some links
• The main web site :
» http://maven.apache.org
• Project’s team wiki :
» http://docs.codehaus.org/display/MAVEN
• Project’s users wiki :
» http://docs.codehaus.org/display/MAVENUSER
45
46. Books
• Nicolas De loof
Arnaud Héritier
» Published by Pearson
» Collection Référence
» Based on our own
experiences with
Maven.
» From beginners to
experts.
» In French only
46
47. Books
• Sonatype / O’Reilly :
» The Definitive Guide
» http://
www.sonatype.com/
books
» Free download
» Available in several
languages
47
51. Support
• Mailing lists
» http://maven.apache.org/mail-lists.html
• IRC
» irc.codehaus.org - #maven
• Forums
» http://www.developpez.net/ forum maven
» In French
• Dedicated support
» Sonatype and many others companies
51