Apache Maven MarsJUG. Arnaud Héritier exo platform Software Factory Manager
|
|
- Shavonne Hodge
- 5 years ago
- Views:
Transcription
1 Apache Maven MarsJUG Arnaud Héritier exo platform Software Factory Manager
2 Software Factory Manager at exo platform In charge of tools and methods Arnaud Héritier Committer since 2004 and member of the Project Management Committee Coauthor of «Apache Maven» published by Pearson (in French)
3 Apache Maven OVERVIEW
4 Apache Maven BASICS 4
5 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 a command line tool with some IDE integrations.
6 Conventions 1 project = 1 artifact (pom, jar, war, ear, ) Standardized directories layout project descriptor (POM) build lifecycle 6
7 POM An XML file (pom.xml) Describing Project identification Project version Project description Build settings Dependencies <?xml version="1.0" encoding="utf-8"?> <project> <modelversion>4.0.0</modelversion> <groupid>org.apache.maven</groupid> <artifactid>webapp-sample</artifactid> <version>1.1-snapshot</version> <packaging>war</packaging> <name>simple webapp</name> <inceptionyear>2007</inceptionyear> <dependencies> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-struts</artifactid> <version>2.0.2</version> </dependency>... </dependencies> </project>
8 Dependencies Without Maven With Maven
9 Declaratives Dependencies groupid + artifactid + version (+ classifier) Type (packaging) : jar, war, pom, ear, Transitives Lib A needs Lib B Lib B needs Lib C Thus Lib A needs Lib C
10 Scope Dependencies Compile (by default) : Required to build and run the application Runtime : not required to build the application but needed at runtime Ex : taglibs Provided : required to build the application but not needed at runtime (provided by the container) Ex : Servlet API, Driver SGBD, Test : required to build and launch tests but not needed by the application itself to build and run Ex : Junit, TestNG, DbUnit, System : local library with absolute path Ex : software products
11 Artifact Repository By default : A central repository 2 Several dozen of Gb of OSS libraries A local repository ${user.home}/.m2/repository All artifacts Used by maven and its plugins Used by your projects (dependencies) Produced by your projects
12 Artifact Repository By default Maven downloads artifacts required by the project or itself from central Downloaded artifacts are stored in the local repository
13 Versions Project and dependency versions Two different version variants SNAPSHOT version The version number ends with SNAPSHOT The project is in development Deliveries are changing over the time and are overridden after each build Artifacts are deployed with a timestamp on remote repositories RELEASE version The version number doesn t end with SNAPSHOT Binaries won t change
14 Versions
15 Versions About SNAPSHOT dependencies Maven allows the configuration of an update policy. The update policy defines the recurrence of checks if there is a new SNAPSHOT version available on the remote repository : always daily (by default) interval:x (a given period in minutes) never Must not be used in a released project They can change thus the release also
16 Versions Range From to Maven automatically searches for the corresponding version (using the update policy for released artifacts) To use with caution Risk of non reproducibility of the build Risk of side effects on projects depending on yours.
17 Reactor Ability of Maven to build several sub-modules resolving the order of their dependencies Modules have to be defined in the POM For a performance reasons pom.xml : <modules> <module>modulea</module> <module>modulec</module> <module>moduleb</module> </modules>
18 Inheritence Share settings between projects/modules Project Business1 Jar War Business2 Jar War By default the parent project is supposed to be in the parent directory (../) pom.xml for module Jar1 <parent> <groupid>x.y.z</groupid> <artifactid>jars</artifactid> <version>1.0-snapshot<version> </parent>
19 Build Lifecycle And Plugins Plugin based architecture for a great extensibility Standardized lifecycle to build all types of archetypes
20 Apache Maven WHY DOES A PROJECT CHOOSE MAVEN?
21 Maven, the project s choice Application s architecture The project has the freedom to divide the application in modules Maven doesn t limit the evolution of the application architecture Dependencies management Declarative : Maven automatically downloads them and builds the classpath Transitive : We define only what the module needs itself
22 Maven, the project s choice Centralizes and automates all development facets (build, tests, releases) One thing it cannot do for you : to develop Builds Tests Packages Deploys Documents Checks and reports about the quality of developments
23 Apache Maven WHY DOES A COMPANY CHOOSE MAVEN?
24 Maven, the corporate s choice Widely adopted and known Many developers Developments are standardized Decrease of costs Reuse of knowledge Reuse of configuration fragments Reuse of process and code fragments Product quality improvement Reports and monitoring
25 Apache Maven ECOSYSTEM
26 Maven alone is nothing Maven s ecosytem You can integrate it with many tools
27 Apache Maven REPOSITORY MANAGERS
28 Repository Managers Several products Sonatype Nexus (replaced Proximity) Jfrog Artifactory Apache Archiva Basic services Search artifacts Browse repositories Proxy external repositories Host internal repositories Security
29 Secure your builds Deploy a repository manager to proxy externals repositories to : Avoid external network outages Avoid external repository unavailabilities To reduce your company s external network usage To increase the speed of artifact downloads Additional services offered by such servers : Artifacts procurement to filter what is coming from the outside Staging repository to validate your release before deploying it
30 Setup a global mirror <settings> <mirrors> <mirror> <!--This sends everything else to /public --> <id>global-mirror</id> <mirrorof>external:*</mirrorof> <url> </mirror> </mirrors> <profiles> <profile> <id>mirror</id> <!--Enable snapshots for the built in central repo to direct --> <!--all requests to the repository manager via the mirror --> <repositories> <repository> <id>central</id> <url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> </repositories> <pluginrepositories> <pluginrepository> <id>central</id> <url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </pluginrepository> </pluginrepositories> </profile> </profiles> <activeprofiles> <!--make the profile active all the time --> <activeprofile>mirror</activeprofile> </activeprofiles> </settings>
31 Apache Maven QUALITY MANAGEMENT
32 Automate tests Use automated tests as often as you can Many tools are available through Maven JUnit, TestNG unit tests, Selenium, Canoo web GUI test, Fitnesse, Greenpepper functional tests, SoapUI web services tests JMeter performances tests And many more frameworks are available to reply your needs
33 Quality Metrics Extract quality metrics from your project and monitor them : Code style (CheckStyle) Bad practices or potential bugs (PMD, FindBugs, Clirr) Tests coverage (Cobertura, Emma, Clover) You can use blocking rules For example, I break the build if the upward compatibility of public APIs is broken You can use reports Reports are available in a web site generated by Maven Or in a quality dashboard like Sonar
34 Dependency Report
35 Sonar Dashboard
36 Apache Maven CONTINUOUS INTEGRATION
37 Continuous Integration Setup a continuous integration server to : Have a neutral and unmodified environment to run your tests Quickly react when The build fails (compilation failure for example) A test fails A quality metric is bad Continuously improve the quality of your project and your productivity Many products Hudson, Bamboo, TeamCity, Continuum, Cruisecontrol,
38 Hudson
39 Apache Maven GOOD & BAD PRACTICES
40 Apache Maven KISS
41 Keep It Simple, Stupid Start from scratch K.I.S.S. Do not copy/paste what you find without understanding Use only what you need It s not because maven offers many features that you need to use them Filtering Modules Profiles
42 Apache Maven PROJECT ORGANIZATION GOOD & BAD PRACTICES
43 Project bad practices Ignore Maven conventions Except if your are migrating from something else and the target has to be to follow them. Except if they are not compatible with your IDE Different versions in sub-modules In that case they are standalone projects. Too many inheritance levels It makes the POMs maintenance more complex Where should I set this plugin parameter? In which parent?
44 Project bad practices Have too many modules Is there a good reason? Technical constraint? Team organization? It increases the build time Many more artifacts to generate Dependencies resolution more complex It involves more complex developments More modules to import in your IDE More modules to update
45 Project good practices Use the default inheritance : The reactor project is also the parent of its modules. Configuration is easier : No need to redefine SCM settings, site distribution settings
46 Apache Maven POM GOOD & BAD PRACTICES
47 Dependencies : POM bad practices DON T confuse dependencies and dependencymanagement Plugins : DON T confuse plugins and pluginmanagement DON T use AntRun plugin everywhere DON T let Maven choose plugins versions for you
48 POM bad practices Profiles : DON T create environment dependant builds DON T rely on dependencies coming from profiles (there is no transitive activation of profiles) Reporting and quality DON T activate on an existing project all reports with default configuration DON T control formatting rules without giving settings for IDEs. DON T put everything you find in your POM.
49 POM good practices Set versions of dependencies in project parent s dependencymanagement Set dependencies (groupid, artifactid, scope) in each module they are used Use the dependency plugin (from apache) and versions plugin (from mojo) to analyze, cleanup and update your dependencies.
50 Apache Maven DEVELOPMENT GOOD & BAD PRACTICES
51 Development bad practices DON T spend your time in the terminal, DON T exchange libraries through s, DON T always use "-Dmaven.test.skip=true DON T manually do releases
52 Development good practices Keep up-to-date your version of Maven For example in 2.1 the time of dependencies/modules resolution decreased a lot (Initialization of a project of 150 modules passed from 8 minutes to less than 1) Use the reactor plugin (Maven < 2.1) or native reactor command line options (Maven >= 2.1) to rebuild only a subpart of your project : All modules depending on module XXX All modules used to build XXX Try to not use Maven features not supported by your IDE (resources filtering with the plugin eclipse:eclipse)
53 Apache Maven USECASES
54 Apache Maven SECURE YOUR CREDENTIALS
55 Secure your credentials Generate a private key arnaud@leopard:~$ mvn --encrypt-master-password toto {dzpuz74ytj0hnwhgm4zgfdlruyqnda1xib9vavf2vvy=} We save the private key in ~/.m2/settings-security.xml <settingssecurity> <master>{dzpuz74ytj0hnwhgm4zgfdlruyqnda1xib9vavf2vvy=}</master> </settingssecurity>
56 Secure your credentials You can move this key to another drive ~/.m2/settings.xml <settingssecurity> <relocation>/volumes/arnaudusbkey/secure/settings-security.xml</relocation> </settingssecurity> You create an encrypted version of your server password mvn --encrypt-password titi{sbc9fl2ja4ohztz5fcefp2q1tmxetbkz9qikljpihss=} You register it in your settings <settings>... <servers>... <server> <id>mon.server</id> <username>arnaud</username> <password>{sbc9fl2ja4ohztz5fcefp2q1tmxetbkz9qikljpihss=}</password> </server>... </servers>... </settings>
57 Apache Maven BUILD A PART OF YOUR PROJECT
58 Reactor options (Maven > 2.1)
59 Apache Maven RELEASE YOUR PROJECT
60 Release of a webapp in 2002 Limited usage of eclipse No WTP (Only some features in WSAD), No ability to produce WARs
61 Release of a webapp in 2002 Many manual tasks Modify settings files Package JARs Copy libraries (external and internal) in a «lib» directory Package WAR (often with a zip command) Tag the code (CVS) Send the package on the integration server using FTP Deploy the package with AS console
62 Release of a webapp in 2002 One problem : The are always problems Error in config files Missing dependencies Missing file Last minute fix which created a bug How long did it take? When everything is ok : 15 minutes When there s a problem : ½ day or more And many other possibilies..
63 Maven Release Plugin Automates the release process from tagging sources to binaries delivery Release plugin main goals: Prepare : To update maven versions and information in POMs and tag the code Perform : To deploy binaries in a maven repository After that you can just automate the deployment on the AS using cargo for example.
64 Maven Release Plugin
65 Configuration and Prerequisites Project version (must be a SNAPSHOT version) Dependencies and plugins versions mustn t be SNAPSHOTs
66 SCM configuration SCM binaries have to be in the PATH SCM credentials have to already be stored or you have to pass them in command line with : Dusername=XXX Dpassword=XXX <scm> <connection> scm:svn: </connection> <developerconnection> scm:svn: </developerconnection> <url> </url> </scm>
67 Distribution Management <project> <distributionmanagement> <repository> <id>repository.exoplatform.org</id> <url>${exo.releases.repo.url}</url> </repository>... </distributionmanagement>... <properties> <exo.releases.repo.url> </exo.releases.repo.url>... </properties> </project>
68 Repository credentials <settings> <servers> <server> <! - id must be the one used in distributionmanagement --> <id>repository.exoplatform.org</id> <username>aheritier</username> <password>{abcdefghijklmnopqrstuvwyz}</password> </server> </servers> </settings>
69 Default Release Profile in Super POM <profile> <id>release-profile</id> <activation> <property> <name>performrelease</name> <value>true</value> </property> </activation> <build> <plugins> <! - Configuration to generate sources and javadoc jars -->... </plugins> </build> </profile>
70 Custom release profile <project>... <build> <pluginmanagement> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-release-plugin</artifactid> <version>2.0-beta-9</version> <configuration> <usereleaseprofile>false</usereleaseprofile> <arguments>-pmyreleaseprofile</arguments>... <profiles> <profile> <id>myreleaseprofile</id> <build> <!- what you want to customize the behavior of the build when you do a release --> </build> </profile> </profiles>... </project> </configuration> </plugin> </plugins> </pluginmanagement> </build>
71 Troubleshooting Releases Common errors during release: Build with release profile was tested before and fails Local modifications Current version is not a SNAPSHOT SNAPSHOTs in dependencies and/or plugins Missing some configuration (scm, distribmgt, ) Tag already exists Unable to deploy project to the Repository Connection problems
72 Apache Maven TO GO FURTHER
73 Apache Maven DOCUMENTATIONS
74 The main web site : Project s team wiki : Some links Project s users wiki :
75 Books Sonatype / O Reilly : The Definitive Guide oks Free download Available in several languages Soon in French
76 Books Exist Global Better builds with Maven better-build-maven Free download
77 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 Available on 20th November
78 Apache Maven SUPPORT
79 Support Mailing lists IRC irc.codehaus.org - #maven Forums forum maven In French Dedicated support Sonatype and some others companies
80 Apache Maven BACK TO THE FUTURE
81 Apache Maven PRODUCT
82 Apache Maven 2.0.x bugs fix Last release : No planned
83 Apache Maven 2.x Evolutions, new features Several important new features in 2.1 like Parallel downloads Encrypted passwords Last release : in few months, 2.3 in 2010
84 Do not be afraid!!!!! Not final before at least one year Full compatibility with maven 2.x projects Apache Maven 3.x
85 What s new : Apache Maven 3.x How POMs are constructed How the lifecycle is executed How the plugin manager executes How artifacts are resolved How it can be embedded How dependency injection is done
86 Apache Maven 3.x What it will change for maven users? Any-source POM Versionless parent elements Mixins : a compositional form of Maven POM configuration Better IDE integration Error & integrity reporting Much improved error reporting where we will provide links to each identifiable problem we know of. There are currently 42 common things that can go wrong. Don't allow builds where versions come from non-project sources like local settings and CLI parameters Don't allow builds where versions come from profiles that have to be activated manually
87 Apache Maven 3.x What it will change for maven developers? Lifecycle extension points Plugin extension points Incremental build support Queryable lifecycle Extensible reporting
88 Apache Maven COMMUNITY
89 1780 subscribers on users mailing list Users community 90 days statistics Number of subscribers in blue Number of messages per day in red
90 The web site
91 Dowloads Per month downloads
92 The team 60 committers, More than 30 active since the beginning of the year, Several organizations like Sonatype, deliver resources and professional support, A community less isolated : more interactions with Eclipse, Jetty,
93 Commit Statistics
94 Apache Maven COMPETITORS
95 Competitors Ant + Ivy, Easy Ant, Gant, Graddle, 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 s like providing a framework without public API.
96 Apache Maven CONCLUSION
97 Conclusion Today, Maven is widely adopted in corporate environments, It provides many services, It has an important and really active community of users and developers Many resources to learn to use it and a professional support are available A product probably far from being perfect but on rails for the future Many things to do We need you!
98 Apache Maven QUESTIONS?
99 Licence et copyrights Photos and logos belong to their respective authors/owners 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.
What is Maven? Apache Maven is a software project management and comprehension tool (build, test, packaging, reporting, site, deploy).
Plan What is Maven? Links : mvn command line tool POM : 1 pom.xml = 1 artifact POM POM Inheritance Standard Directory Layout Demo on JMMC projects Plugins Conclusion What is Maven? Apache Maven is a software
More informationRepository Management and Sonatype Nexus. Repository Management and Sonatype Nexus
Repository Management and Sonatype Nexus i Repository Management and Sonatype Nexus Repository Management and Sonatype Nexus ii Contents 1 Objectives 1 2 Development Today 1 3 But What Is A Component?
More informationApache Maven. Created by anova r&d bvba
Apache Maven Created by anova r&d bvba http://www.anova.be This work is licensed under the Creative Commons Attribution 2.0 Belgium License. To view a copy of this license, visit http://creativecommons.org/licenses/by/2.0/be/
More informationSimplified Build Management with Maven
Simplified Build Management with Maven Trasys Greece Kostis Kapelonis 11/06/2010 Menu Kitchen says hi!(motivation) Starters (Maven sample pom) Soup (Maven philosophy) Main dish (Library management) Side
More informationMaven. INF5750/ Lecture 2 (Part II)
Maven INF5750/9750 - Lecture 2 (Part II) Problem! Large software projects usually contain tens or even hundreds of projects/modules Very different teams may work on different modules Will become messy
More informationIntroduction to project industrialization using Maven YaJUG 06/10/2009. Copyright Pierre-Antoine Grégoire License Creative Commons 2.
Introduction to project industrialization using Maven YaJUG 06/10/2009 Event http://www.yajug.lu October 06 2009 Best Practices and Tools for your build environments Speaker Pierre-Antoine Grégoire I.T.Architect
More informationMAVEN INTERVIEW QUESTIONS
MAVEN INTERVIEW QUESTIONS http://www.tutorialspoint.com/maven/maven_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Maven Interview Questions have been designed specially to get
More informationContent. Development Tools 2(57)
Development Tools Content Project management and build, Maven Unit testing, Arquillian Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools
More informationDevOps and Maven. Eamonn de Leastar Dr. Siobhán Drohan Produced by:
DevOps and Maven Produced by: Eamonn de Leastar (edeleastar@wit.ie) Dr. Siobhán Drohan (sdrohan@wit.ie) Department of Computing and Mathematics http://www.wit.ie/ Dev team created a solution for production.
More informationTopics covered. Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session. Maven 2
Maven Maven 1 Topics covered Introduction to Maven Maven for Dependency Management Maven Lifecycles and Plugins Hands on session Maven 2 Introduction to Maven Maven 3 What is Maven? A Java project management
More informationmaven Build System Making Projects Make Sense
maven Build System Making Projects Make Sense Maven Special High Intensity Training Zen Questions Why are we here? What is a project? What is Maven? What is good? What is the sound of one hand clapping?
More informationSonatype CLM - IDE User Guide. Sonatype CLM - IDE User Guide
Sonatype CLM - IDE User Guide i Sonatype CLM - IDE User Guide Sonatype CLM - IDE User Guide ii Contents 1 Introduction 1 2 Installing Sonatype CLM for Eclipse 2 3 Configuring Sonatype CLM for Eclipse 5
More informationMaven POM project modelversion groupid artifactid packaging version name
Maven The goal of this document is to introduce the Maven tool. This document just shows some of the functionalities of Maven. A complete guide about Maven can be found in http://maven.apache.org/. Maven
More informationApache Maven: Best Practices
Apache Maven: Best Practices Brett Porter - brett@apache.org http://www.devzuz.org/blogs/bporter Maven without the PAIN Sometimes unpleasant You know it s for your own good! Can avoid or alleviate the
More informationMaven Introduction to Concepts: POM, Dependencies, Plugins, Phases
arnaud.nauwynck@gmail.com Maven Introduction to Concepts: POM, Dependencies, Plugins, Phases This document: http://arnaud-nauwynck.github.io/docs/maven-intro-concepts.pdf 31 M!! What is Maven? https://maven.apache.org/
More informationsites</distribsiteroot>
Maven Parent POMs What is this? We have several parent poms. They pre-configure a whole array of things, from plugin versions to deployment on our infrastructure. They should be used: By all public and
More informationSonatype CLM Enforcement Points - Nexus. Sonatype CLM Enforcement Points - Nexus
Sonatype CLM Enforcement Points - Nexus i Sonatype CLM Enforcement Points - Nexus Sonatype CLM Enforcement Points - Nexus ii Contents 1 Introduction 1 2 Sonatype CLM for Repository Managers 2 3 Nexus Pro
More informationMaven in the wild. An introduction to Maven
Maven in the wild An introduction to Maven Maven gone wild!! An introduction to Maven Presentation Summary An overview of Maven What Maven provides? Maven s principles Maven s benefits Maven s features
More informationMAVEN MOCK TEST MAVEN MOCK TEST I
http://www.tutorialspoint.com MAVEN MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Maven. You can download these sample mock tests at your local machine
More informationTOP REASONS WHY YOU SHOULD SWITCH TO MAVEN 3
TOP REASONS WHY YOU SHOULD SWITCH TO MAVEN 3 Dennis Lundberg C O N N E C T I N G B U S I N E S S & T E C H N O L O G Y DENNIS LUNDBERG Systems Architect Java since 1996 Maven PMC member since 2006 Maven
More informationI Got My Mojo Workin'
I Got My Mojo Workin' Gary Murphy Hilbert Computing, Inc. http://www.hilbertinc.com/ glm@hilbertinc.com Gary Murphy I Got My Mojo Workin' Slide 1 Agenda Quick overview on using Maven 2 Key features and
More informationPour aller plus loin : Programmation outillée
Pour aller plus loin : Programmation outillée Denis Conan Revision : 2521 CSC4102 Télécom SudParis Décembre 2017 Pour aller plus loin : Programmation outillée Table des matières Pour aller plus loin :
More informationMAVEN MOCK TEST MAVEN MOCK TEST IV
http://www.tutorialspoint.com MAVEN MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Maven. You can download these sample mock tests at your local machine
More informationSetting up a Maven Project
Setting up a Maven Project This documentation describes how to set up a Maven project for CaptainCasa. Please use a CaptainCasa version higher than 20180102. There were quite some nice changes which were
More informationComponent based Development. Table of Contents. Notes. Notes. Notes. Web Application Development. Zsolt Tóth
Component based Development Web Application Development Zsolt Tóth University of Miskolc 2017 Zsolt Tóth (University of Miskolc) Component based Development 2017 1 / 30 Table of Contents 1 2 3 4 Zsolt
More informationPackage Management and Build Tools
Package Management and Build Tools Objektumorientált szoftvertervezés Object-oriented software design Dr. Balázs Simon BME, IIT Outline Ant+Ivy (Apache) Maven (Apache) Gradle Bazel (Google) Buck (Facebook)
More information1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.
1 Copyright 2011, Oracle and/or its affiliates. All rights The forthcoming is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated
More informationMaven 2 & Continuum. by Trygve Laugstøl
Maven 2 & Continuum by Trygve Laugstøl Agenda About Maven Maven 2 Highlights Changes The POM Project layout Plugin architecture Continuum About Maven It s a different kind of build
More informationWho Moved My Module? 1
Who Moved My Module? 1 About Me Yoav Landman - JFrog s CTO and Co-Founder - Creator of the Artifactory Project - 13 years experience in commercial enterprise build and development environments 2 Agenda
More informationAdministering Apache Geronimo With Custom Server Assemblies and Maven. David Jencks
Administering Apache Geronimo With Custom Server Assemblies and Maven David Jencks 1 What is Geronimo? JavaEE 5 certified application server from Apache Modular construction Wires together other projects
More informationContents. Enterprise Systems Maven and Log4j. Maven. What is maven?
Contents Enterprise Systems Maven and Log4j Behzad Bordbar Lecture 4 Maven What is maven Terminology Demo Log4j and slf4j What is logging Advantages Architecture 1 2 Maven What is maven? How does it work?
More informationHello Maven. TestNG, Eclipse, IntelliJ IDEA. Óbuda University, Java Enterprise Edition John von Neumann Faculty of Informatics Lab 2.
Hello Maven TestNG, Eclipse, IntelliJ IDEA Óbuda University, Java Enterprise Edition John von Neumann Faculty of Informatics Lab 2 Dávid Bedők 2017.09.19. v0.1 Dávid Bedők (UNI-OBUDA) Hello JavaEE 2017.09.19.
More informationDeveloping Applications Using Continuous Integration 12c ( )
[1]Oracle Fusion Middleware Developing Applications Using Continuous Integration 12c (12.2.1.1) E71421-01 June 2016 Describes how to build automation and continuous integration for applications that you
More informationUnable To The Artifact From Any Repository Maven-clean-plugin
Unable To The Artifact From Any Repository Maven-clean-plugin The default behaviour of the plugin is to first resolve the entire dependency tree, Any manually included purge artifacts will be removed from
More informationCheat Sheet: Wildfly Swarm
Cheat Sheet: Wildfly Swarm Table of Contents 1. Introduction 1 5.A Java System Properties 5 2. Three ways to Create a 5.B Command Line 6 Swarm Application 1 5.C Project Stages 6 2.A Developing a Swarm
More informationRed Hat Fuse 7.0 Installing on Apache Karaf
Red Hat Fuse 7.0 Installing on Apache Karaf Installing Red Hat Fuse on the Apache Karaf container Last Updated: 2018-08-27 Red Hat Fuse 7.0 Installing on Apache Karaf Installing Red Hat Fuse on the Apache
More informationMAVEN MOCK TEST MAVEN MOCK TEST III
http://www.tutorialspoint.com MAVEN MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Maven. You can download these sample mock tests at your local machine
More informationMaven 2 The powerful buildsystem. a presentation for EL4J developers by Martin Zeltner (MZE) November 2007
Maven 2 The powerful buildsystem a presentation for EL4J developers by Martin Zeltner (MZE) November 2007 Agenda Introduction 5 Installation 5 Concepts 40 Where to find 5 Daily usage 30 Advanced usage
More informationRepository Management with Nexus
Repository Management with Nexus i Repository Management with Nexus Ed. 4.0 Repository Management with Nexus ii Contents 1 Introducing Sonatype Nexus 1 2 Component Lifecycle Management and Repository Management
More information... Apache Maven PDF Plugin v. 1.4 User Guide.... The Apache Software Foundation
.. Apache Maven PDF Plugin v. 1.4 User Guide.. The Apache Software Foundation 2017-12-22 T a b l e o f C o n t e n t s i Table of Contents Table of Contents...........................................................
More informationSonatype CLM - CI User Guide. Sonatype CLM - CI User Guide
Sonatype CLM - CI User Guide i Sonatype CLM - CI User Guide Sonatype CLM - CI User Guide ii Contents 1 Introduction 1 2 Sonatype CLM for CI 2 2.1 Introduction......................................... 2
More informationDenn n i n s i s L und n b d erg r
Dennis Lundberg Agenda Creating a site using Maven involves making a lot of choices. Some of them are obvious, like choosing a suitable document format, while others are more subtle. This presentation
More informationStruts 2 Maven Archetypes
Struts 2 Maven Archetypes DEPRECATED: moved to http://struts.apache.org/maven-archetypes/ Struts 2 provides several Maven archetypes that create a starting point for our own applications. Contents 1 DEPRECATED:
More informationIntroduction: Manual Testing :
: What is Automation Testing? Use of Automation. Where do we use. Tools that Do Automation. Web Applications vs Standalone Applications. What is selenium? How selenium works. Manual Testing : HTML: Detailed
More informationPackaging, automation, Continuous Integration
LP IDSE - GL Packaging, automation, Continuous Integration Based on Simon Urli and Sébastien Mosser courses 18/10/2016 Cécile Camillieri/Clément Duffau 1 Previously. 2 Development process Develop features
More informationSTQA Mini Project No. 1
STQA Mini Project No. 1 R (2) C (4) V (2) T (2) Total (10) Dated Sign 1.1 Title Mini-Project 1: Create a small application by selecting relevant system environment/ platform and programming languages.
More informationOracle Fusion Middleware
Oracle Fusion Middleware Developing Applications Using Continuous Integration 12c (12.2.1.3.0) E80276-01 August 2017 Describes how to build automation and continuous integration for applications that you
More informationTIBCO StreamBase 10.2 Building and Running Applications in Studio, Studio Projects and Project Structure. November 2017
TIBCO StreamBase 10.2 Building and Running Applications in Studio, Studio Projects and Project Structure November 2017 TIBCO StreamBase 10 Experience 1. Build a StreamBase 10 Project 2. Run/Debug an StreamBase
More informationProduced by. Agile Software Development. Eamonn de Leastar
Agile Software Development Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie pacemaker-console
More informationRed Hat Fuse 7.0 Installing on JBoss EAP
Red Hat Fuse 7.0 Installing on JBoss EAP Install Fuse 7.0.0 on JBoss EAP 7.1 Last Updated: 2018-08-27 Red Hat Fuse 7.0 Installing on JBoss EAP Install Fuse 7.0.0 on JBoss EAP 7.1 Legal Notice Copyright
More informationWhy switch exist-db from Ant to Maven?
exist-db Developers Meetup Monday, 29 th March 2011 @ Prague Why switch exist-db from Ant to Maven? adam@exist-db.org www.existsolutions.com Why move away from Ant? The Current Situation Lots of pain associated
More information... Fisheye Crucible Bamboo
Sander Soo MSc Computer Science Oracle Certified Professional (Java SE) Nortal (email: sander.soo@nortal.com) Mercurial Java Spring Framework AngularJS Atlassian stack... Fisheye Crucible Bamboo 2 Manual
More informationIBM. IBM WebSphere Application Server Migration Toolkit. WebSphere Application Server. Version 9.0 Release
WebSphere Application Server IBM IBM WebSphere Application Server Migration Toolkit Version 9.0 Release 18.0.0.3 Contents Chapter 1. Overview......... 1 Chapter 2. What's new........ 5 Chapter 3. Support..........
More informationLanguage alone won t pay your bills. Alan Franzoni - EP 2012 twitter: franzeur website:
Language alone won t pay your bills Alan Franzoni - EP 2012 twitter: franzeur website: www.franzoni.eu What s this about? What s this about? Original idea: Why Python sucks What s this about? Original
More informationSonatype CLM - Release Notes. Sonatype CLM - Release Notes
Sonatype CLM - Release Notes i Sonatype CLM - Release Notes Sonatype CLM - Release Notes ii Contents 1 Introduction 1 2 Upgrade instructions 2 3 Sonatype CLM for Bamboo 3 4 Sonatype CLM 1.13 4 5 Sonatype
More informationRed Hat Fuse 7.1 Installing on JBoss EAP
Red Hat Fuse 7.1 Installing on JBoss EAP Install Fuse 7.1 on JBoss EAP 7.1 Last Updated: 2018-09-25 Red Hat Fuse 7.1 Installing on JBoss EAP Install Fuse 7.1 on JBoss EAP 7.1 Legal Notice Copyright 2018
More informationBUILD AND DEPLOY SOA PROJECTS FROM DEVELOPER CLOUD SERVICE TO ORACLE SOA CLOUD SERVICE
BUILD AND DEPLOY SOA PROJECTS FROM DEVELOPER CLOUD SERVICE TO ORACLE SOA CLOUD SERVICE Ashwini Sharma 1 CONTENTS 1. Introduction... 2 2 Prerequisites... 2 3 Patch the SOA Server Installation... 2 4. Use
More informationCONTINUOUS DELIVERY IN THE ORACLE CLOUD
CONTINUOUS DELIVERY IN THE ORACLE CLOUD Lykle Thijssen Bruno Neves Alves June 7, 2018 NLOUG Tech Experience Amersfoort eproseed Confidential ABOUT US Lykle Thijssen Principal Architect and Scrum Master
More informationEUSurvey OSS Installation Guide
Prerequisites... 2 Tools... 2 Java 7 SDK... 2 MySQL 5.6 DB and Client (Workbench)... 4 Tomcat 7... 8 Spring Tool Suite... 11 Knowledge... 12 Control System Services... 12 Prepare the Database... 14 Create
More informationBuild Automation Kurt Christensen
Build Automation Kurt Christensen Kurt Christensen Computer programmer (17 years) and software development coach (9 years) github.com/projectileboy Available for purchase at: kurt.j.christensen@gmail.com
More informationmvn package -Dmaven.test.skip=false //builds DSpace and runs tests
DSpace Testing 1 Introduction 2 Quick Start 2.1 Maven 2.2 JUnit 2.3 JMockit 2.4 ContiPerf 2.5 H2 3 Unit Tests Implementation 3.1 Structure 3.2 Limitations 3.3 How to build new tests 3.4 How to run the
More informationConfiguration & Build Management
Object-Oriented Software Engineering Using UML, Patterns, and Java Configuration & Build Management Outline of the Lecture Purpose of Software Configuration Management (SCM) Some Terminology Software Configuration
More informationPHP Composer 9 Benefits of Using a Binary Repository Manager
PHP Composer 9 Benefits of Using a Binary Repository Manager White Paper Copyright 2017 JFrog Ltd. March 2017 www.jfrog.com Executive Summary PHP development has become one of the most popular platforms
More informationThe Actual Real World at EclipseCon/ALM
Tycho The Actual Real World at EclipseCon/ALM Raise your Hand if you are Sure Addressing the Issues Real World: Tycho Issues World Wide Distributed Teams India, China, Europe, Argentina, United States
More informationRed Hat JBoss Enterprise Application Platform 6.4
Red Hat JBoss Enterprise Application Platform 6.4 Getting Started Guide For Use with Red Hat JBoss Enterprise Application Platform 6 Last Updated: 2017-12-12 Red Hat JBoss Enterprise Application Platform
More informationWhat s new in IBM Operational Decision Manager 8.9 Standard Edition
What s new in IBM Operational Decision Manager 8.9 Standard Edition Release themes User empowerment in the Business Console Improved development and operations (DevOps) features Easier integration with
More informationAUTOMATION TESTING FRAMEWORK FOR LUMINOUS LMS
AUTOMATION TESTING FRAMEWORK FOR LUMINOUS LMS CONTENT Introduction. List of tools used to create Testing Framework Luminous LMS work scheme Testing Framework work scheme Automation scenario set lifecycle
More informationGeronimo Server Release Process
Geronimo Server Release Process Procedure Whenever possible, use the maven release plugin. If something doesn't work file a bug against it. Use extreme caution in creating branches as opposed to releasing
More information9 Reasons To Use a Binary Repository for Front-End Development with Bower
9 Reasons To Use a Binary Repository for Front-End Development with Bower White Paper Introduction The availability of packages for front-end web development has somewhat lagged behind back-end systems.
More informationThis assignment requires that you complete the following tasks (in no particular order).
Construction Objectives The objectives of this assignment are: (1) Implement your FCS design with high-quality code and thorough unit tests (2) Gain experience doing a task breakdown (3) Gain experience
More informationMoven. Machine/Deep Learning Models Distribution Relying on the Maven Infrastructure. Sergio Fernández (Redlink GmbH) November 14th, Sevilla
Moven Machine/Deep Learning Models Distribution Relying on the Maven Infrastructure Sergio Fernández (Redlink GmbH) November 14th, 2016 - Sevilla SSIX aims to exploit the predictive power of Social Media
More informationMaven Deploy Error Code 405 Method Not Allowe
Maven Deploy Error Code 405 Method Not Allowed in BRMS 6. Raw. (ERROR) Failed to execute goal Return code is: 405, ReasonPhrase:Method Not Allowed. Steps to replicate: 1. Create Run 'mvn deploy'. Recently
More informationSeven Habits of Highly Effective Jenkins Users
Seven Habits of Highly Effective Jenkins Users What is this talk about? Lessons learned: Maintaining multiple large Jenkins instances. Working on Jenkins itself, and many of its plugins. Seeing customer
More informationJenkinsPipelineUnit. Test your Continuous Delivery Pipeline. Ozan Gunalp - Emmanuel Quincerot
JenkinsPipelineUnit Test your Continuous Delivery Pipeline Ozan Gunalp - Emmanuel Quincerot Who we are Ozan Günalp Emmanuel Quincerot Developer at LesFurets Developer at LesFurets PhD in Computer Science
More informationThe Maven 2 POM demystified
1 of 13 17/7/2008 09:37 Sponsored by: This story appeared on JavaWorld at http://www.javaworld.com/javaworld/jw-05-2006/jw-0529-maven.html The Maven 2 POM demystified The evolution of a project model By
More informationInfo Error Deploying Artifact Failed To Transfer File Return Code Is 401
Info Error Deploying Artifact Failed To Transfer File Return Code Is 401 Here is my pom.xml, note that it is also the attached file. (ERROR) Failed to execute goal Return code is: 401, ReasonPhrase: Unauthorized.
More informationGetting started with Geomajas. Geomajas Developers and Geosparc
Getting started with Geomajas Geomajas Developers and Geosparc Getting started with Geomajas by Geomajas Developers and Geosparc 1.12.0-SNAPSHOT Copyright 2010-2014 Geosparc nv Abstract Documentation for
More informationMaven 2.1 Artifact Resolution Specification
Maven 2.1 Artifact Resolution Specification Notes to work out in later sections: Graph-based artifact resolution Decouple from Maven's core Binary graph that is pre-resolved for a POM Artifacts should
More informationDeveloping Fast with
Developing Fast with 10 Reasons to Use an Artifact Repository Manager White Paper August 2016 www.jfrog.com Contents Executive Summary... 3 Introduction... 6 01 Reliable and consistent access to Podspecs
More informationONAP Developer Typical Setup 2017 July ONAP Virtual Developers Event
ONAP Developer Typical Setup 2017 July 24-26 ONAP Virtual Developers Event Gary Wu Daniel Rose Victor Morales Getting Started with ONAP
More informationARES: AUTOMATIC RELEASE SERVICE
ARES: AUTOMATIC RELEASE SERVICE I. Prieto Barreiro, F. Varela. CERN, Geneva, Switzerland. Abstract This paper presents the Automatic RElease Service (ARES) developed by the Industrial Controls and Safety
More informationOracle Code Day Hands On Labs (HOL) (Install, Repository, Local Deploy, DevCS, OACCS)
Oracle Code Day Hands On Labs (HOL) (Install, Repository, Local Deploy, DevCS, OACCS) Table of Contents Getting Started...2 Overview...2 Learning Objectives...2 Prerequisites...2 Software for HOL Lab Session...2
More informationSet up Maven plugins in Eclipse. Creating a new project
In this tutorial, we describe steps for setting up a Maven project that uses libsbolj in Eclipse. Another tutorial follows this one which explains how we use SBOL 2.0 to represent the function of a state-of-the-art
More informationDistributing JavaFX Applications with Java WebStart and Artifactory
Distributing JavaFX Applications with Java WebStart and Artifactory Frederic Simon Yoav Landman JFrog Ltd. About Us Where frogs can code > 10+ years experience in build and dev environments > Promote hassle-free
More informationBUILD AND DEPLOY ORACLE SERVICE BUS PROJECTS FROM ORACLE DEVELOPER CLOUD SERVICE TO ORACLE SOA CLOUD SERVICE USING THE ORACLE SERVICE BUS PLUG-IN
BUILD AND DEPLOY ORACLE SERVICE BUS PROJECTS FROM ORACLE DEVELOPER CLOUD SERVICE TO ORACLE SOA CLOUD SERVICE USING THE ORACLE SERVICE BUS PLUG-IN Kishor Kumar Contents 1. Introduction... 2 2. Prerequisites...
More informationAnno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
Universita degli Studi di Bologna Facolta di Ingegneria Anno Accademico 2007-2008 Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat http://www lia.deis.unibo.it/courses/tecnologieweb0708/
More informationJetBrains TeamCity Comparison
JetBrains TeamCity Comparison TeamCity is a continuous integration and continuous delivery server developed by JetBrains. It provides out-of-the-box continuous unit testing, code quality analysis, and
More informationGant as Ant and Maven Replacement
Gant as Ant and Maven Replacement Dr Russel Winder Concertant LLP russel.winder@concertant.com russel@russel.org.uk Groovy and Grails User Group 2007 Russel Winder 1 Aims and Objectives Convince people
More informationOracle Code Day Hands On Labs HOL
Oracle Code Day Hands On Labs HOL Overview This lab guides you through deploying and running the BlackJack application "locally" via a Tomcat server that is spawned by NetBeans. After successfully running
More informationUtilizing Fast Testing to Transform Java Development into an Agile, Quick Release, Low Risk Process
Utilizing Fast Testing to Transform Java Development into an Agile, Quick Release, Low Risk Process Introduction System tests, often called slow tests, play a crucial role in nearly every Java development
More informationNexus for Component Management. Nexus for Component Management
Nexus for Component Management i Nexus for Component Management Nexus for Component Management ii Contents 1 Nexus for Component Management 1 2 Nexus for Component Management 1 3 Nexus for Component Management
More informationContinuous Integration INRIA
Vincent Rouvreau - https://sed.saclay.inria.fr February 28, 2017 Contents 1 Preamble To go through this exercise, you will need to install : 1. Git (sudo apt-get install git sudo yum install git) 2. A
More informationRed Hat Developer Studio 12.0
Red Hat Developer Studio 12.0 Getting Started with Developer Studio Tools Introduction to Using Red Hat Developer Studio Tools Last Updated: 2018-07-16 Red Hat Developer Studio 12.0 Getting Started with
More informationThis tutorial explains how you can use Gradle as a build automation tool for Java as well as Groovy projects.
About the Tutorial Gradle is an open source, advanced general purpose build management system. It is built on ANT, Maven, and lvy repositories. It supports Groovy based Domain Specific Language (DSL) over
More informationRed Hat JBoss Enterprise Application Platform 7.1
Red Hat JBoss Enterprise Application Platform 7.1 Development Guide For Use with Red Hat JBoss Enterprise Application Platform 7.1 Last Updated: 2018-04-05 Red Hat JBoss Enterprise Application Platform
More informationChecking Out and Building Felix with NetBeans
Checking Out and Building Felix with NetBeans Checking out and building Felix with NetBeans In this how-to we describe the process of checking out and building Felix from source using the NetBeans IDE.
More informationTM DevOps Use Case. 2017TechMinfy All Rights Reserved
Document Details Use Case Name TMDevOps Use Case04 First Draft 10 th Dec 2017 Author Reviewed By Amrendra Kumar Pradeep Narayanaswamy Contents Scope... 4 About Customer... 4 Pre-Conditions/Trigger... 4
More informationjuddi Developer Guide
juddi 3.0 - Developer Guide Developer Guide ASF-JUDDI-DEVGUIDE-16/04/09 Contents Table of Contents Contents... 2 About This Guide... 3 What This Guide Contains... 3 Audience... 3 Prerequisites... 3 Organization...
More informationConstruction: version control and system building
Construction: version control and system building Paul Jackson School of Informatics University of Edinburgh The problem of systems changing Systems are constantly changing through development and use
More informationOpenECOMP SDC Developer Guide
OpenECOMP SDC Developer Guide Copyright 2017 AT&T Intellectual Property. All rights reserved. Licensed under the Creative Commons License, Attribution 4.0 Intl. (the "License"); you may not use this documentation
More information