The document discusses Maven, an open source build automation tool used primarily for Java projects. It provides advantages over Ant such as standardized directory structure, built-in tasks like compile and test, and dependency management through repositories. The core configuration file is the POM (Project Object Model) which describes project metadata. Maven uses a central repository to download necessary JAR dependencies. It supports tasks like compiling, testing, packaging and provides internationalization.
Maven: Managing Software Projects for Repeatable ResultsSteve Keener
This presentation explores the features of Maven 2, a software build tool that has achieved prominence in the Java development arena. Find out how Maven can be leveraged to automate key project tasks.
Maven: Managing Software Projects for Repeatable ResultsSteve Keener
This presentation explores the features of Maven 2, a software build tool that has achieved prominence in the Java development arena. Find out how Maven can be leveraged to automate key project tasks.
Given at TechMaine's Java Users Group on Feb 26 2008
Why do we need another build tool when we already have Ant? By focusing on convention over configuration, Maven allows you to declaratively define how your project is built, which reduces a lot of the procedural code that you'd need to implement in every build file if you were using Ant. This, along with Maven's built-in management of repositories for project dependencies, allows you to streamline your build process. Ultimately Maven can reduce the amount of time that would otherwise be wasted hunting down jar files and fiddling with boilerplate build scripts.
This presentation covers Maven's core concepts. It introduces the Plugin architecture, and explain how the most popular plugins are used. It also covers the POM concept and how it relates to dependency tracking and repositories.
This presentation provides a comprehensive overview of Maven 3 including lifecycles and a detail of the default lifecycle and the associated phases within.
Vskills certification for Maven Build Professional assesses the candidate as per the company’s need for using the Maven build tool for building and managing Java based projects. The certification tests the candidates on various areas in installation, project object model, build lifecycle, profile development, running maven, configuring, assemblies, resource filtering, site generation, Archetypes, Flexmojos and android application development.
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
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
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)
Presentation show the proto type product for
Ice-faces, Spring 2.5 , Hibernate 3.2 and Apache Derby Database (DB).
Proto type product also shows how other Java & J2EE technologies like Quartz, Apache, Google Map frameworks can integrate with in the JSF & AJAX.
System is deployed in Tomcat 6.x/GlassFish application servers.
Given at TechMaine's Java Users Group on Feb 26 2008
Why do we need another build tool when we already have Ant? By focusing on convention over configuration, Maven allows you to declaratively define how your project is built, which reduces a lot of the procedural code that you'd need to implement in every build file if you were using Ant. This, along with Maven's built-in management of repositories for project dependencies, allows you to streamline your build process. Ultimately Maven can reduce the amount of time that would otherwise be wasted hunting down jar files and fiddling with boilerplate build scripts.
This presentation covers Maven's core concepts. It introduces the Plugin architecture, and explain how the most popular plugins are used. It also covers the POM concept and how it relates to dependency tracking and repositories.
This presentation provides a comprehensive overview of Maven 3 including lifecycles and a detail of the default lifecycle and the associated phases within.
Vskills certification for Maven Build Professional assesses the candidate as per the company’s need for using the Maven build tool for building and managing Java based projects. The certification tests the candidates on various areas in installation, project object model, build lifecycle, profile development, running maven, configuring, assemblies, resource filtering, site generation, Archetypes, Flexmojos and android application development.
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
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
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)
Presentation show the proto type product for
Ice-faces, Spring 2.5 , Hibernate 3.2 and Apache Derby Database (DB).
Proto type product also shows how other Java & J2EE technologies like Quartz, Apache, Google Map frameworks can integrate with in the JSF & AJAX.
System is deployed in Tomcat 6.x/GlassFish application servers.
Maven is a project management and comprehension tool. Maven provides developers a complete build lifecycle framework. Development team can automate the project's build infrastructure in almost no time as Maven uses a standard directory layout and a default build lifecycle.
In case of multiple development teams environment, Maven can set-up the way to work as per standards in a very short time. As most of the project setups are simple and reusable, Maven makes life of developer easy while creating reports, checks, build and testing automation setups.
What is Maven? Maven is an automation and management tool developed by Apache Software Foundation. It was initially released on 13 July 2004. In the Yiddish language, the meaning of Maven is “accumulator of knowledge”. Maven is a project management and comprehension tool that provides developers a complete build life-cycle framework.
Maven 2 is a powerful tool that promotes convention over configuration and you need to
integrate it into one of the popular integrated development environments (IDEs) called
eclipse to make your work easier, thus increasing your productivity and project quality. This
tutorial provides an example of how to make Maven and Eclipse collaborate. Also covers the
popular JSF Web framework.
What is maven? how maven works? how to integrate maven with eclipse? how to develop a maven project? If you are looking answers for these questions then go through this article, I'm sure it will answer all of them and trust me it's way easy than you are thinking. Come have a look.
Workshop which explains maven project lifecycle as well as providing hands on experience to create maven project from the scratch on their system. This workshop was very well taken by Adoniram Mishra, Manjyot Singh and Prakriti Suresh Singh.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
2. Before ANTBefore ANT
Earlier tool used for build was "make"Earlier tool used for build was "make"
The syntax used to be very crypticThe syntax used to be very cryptic
Maintenance of many make filesMaintenance of many make files
3. ANTANT
ANT is cross platformANT is cross platform
ANT is java basedANT is java based
ANT replaces the make file's difficultANT replaces the make file's difficult
syntax with more standardized XMLsyntax with more standardized XML
4. Tasks of a configurationTasks of a configuration
and build managerand build manager
Copy, CleanCopy, Clean
Compile, JarCompile, Jar
Jar class filesJar class files
Generate the java docGenerate the java doc
Test and DeployTest and Deploy
5. Disadvantages of ANTDisadvantages of ANT
Generally you have a template with whichGenerally you have a template with which
you begin with for a new projectyou begin with for a new project
Ant does not provide convenient ways ofAnt does not provide convenient ways of
reuse of code. Most of the targets or buildreuse of code. Most of the targets or build
scripts look similar, but one has to resortscripts look similar, but one has to resort
to copy paste to reuse the same code.to copy paste to reuse the same code.
Creating custom tasks is a workaround,Creating custom tasks is a workaround,
but then it becomes an extra activity tobut then it becomes an extra activity to
write and maintain custom tags in ANTwrite and maintain custom tags in ANT
6. Disadvantages of ANTDisadvantages of ANT
The size of the script grows as the numberThe size of the script grows as the number
of tasks executed increase and one has toof tasks executed increase and one has to
write all this and maintain these complexwrite all this and maintain these complex
ANT scriptsANT scripts
Logic and looping structures are notLogic and looping structures are not
supported and one has to use custom buildsupported and one has to use custom build
tasks for the same. These custom taskstasks for the same. These custom tasks
might not be reusable across projects. If youmight not be reusable across projects. If you
intend to do that, then one will have to put inintend to do that, then one will have to put in
lot of effort to write such tasks. Generallylot of effort to write such tasks. Generally
you end up with numerous and redundantyou end up with numerous and redundant
task in each project.task in each project.
7. MAVENMAVEN
Maven is a high-level, projectMaven is a high-level, project
management, build and deploymentmanagement, build and deployment
tool from the Apache project that addstool from the Apache project that adds
a layer of abstraction above Ant.a layer of abstraction above Ant.
8. Tasks Maven can doTasks Maven can do
Compile your code.Compile your code.
Create Java doc documentation.Create Java doc documentation.
Run unit tests.Run unit tests.
Run source code metrics and analysis.Run source code metrics and analysis.
Create a report detailing violations of yourCreate a report detailing violations of your
team's coding standards.team's coding standards.
Create a report of the most recent CVSCreate a report of the most recent CVS
commits.commits.
Create a report of the CVS activity, pivoted byCreate a report of the CVS activity, pivoted by
file and developer.file and developer.
9. Maven AdvantagesMaven Advantages
Supports common build related tasksSupports common build related tasks
Most of the generic tasks have already beenMost of the generic tasks have already been
shipped with maven.shipped with maven.
Most of the task have to be written manuallyMost of the task have to be written manually
in case of ant. Maven is standardized. Itsin case of ant. Maven is standardized. Its
basically based on POM. POM is the waybasically based on POM. POM is the way
one indicates the directory structure toone indicates the directory structure to
maven. Once this is done one can executemaven. Once this is done one can execute
most of the inbuilt maven goals (equivalentmost of the inbuilt maven goals (equivalent
of ant targets).of ant targets).
10. Maven AdvantagesMaven Advantages
Tasks like Compile, Copy, Clean, Jar, JavaTasks like Compile, Copy, Clean, Jar, Java
doc ,Test, Deploy can be executed usingdoc ,Test, Deploy can be executed using
maven without writing even a single line ofmaven without writing even a single line of
script.script.
Produces lot of technical information to trackProduces lot of technical information to track
the state of the projectthe state of the project
All the ant tasks are available from insideAll the ant tasks are available from inside
your Maven projectyour Maven project
12. POMPOM
Its a XML file. Describes project directory structure,Its a XML file. Describes project directory structure,
project dependencies like jar files. Its a kind ofproject dependencies like jar files. Its a kind of
metadata. Once the project is described using POM,metadata. Once the project is described using POM,
any of the maven tasks can be invoked. Theany of the maven tasks can be invoked. The
pom.xml file is the core of a project's configuration inpom.xml file is the core of a project's configuration in
Maven. It is a single configuration file that containsMaven. It is a single configuration file that contains
the majority of information required to build a projectthe majority of information required to build a project
in just the way you want. The POM is huge and canin just the way you want. The POM is huge and can
be daunting in its complexity, but it is not necessarybe daunting in its complexity, but it is not necessary
to understand all of the intricacies just yet to use itto understand all of the intricacies just yet to use it
effectively.effectively.
14. Standard Directory StructureStandard Directory Structure
By using the standard conventions theBy using the standard conventions the
POM becomes very small and youPOM becomes very small and you
haven't had to tell Maven explicitlyhaven't had to tell Maven explicitly
where any of your sources are orwhere any of your sources are or
where the output should go. Bywhere the output should go. By
following the standard Mavenfollowing the standard Maven
conventions you can get a lot doneconventions you can get a lot done
with very little effortwith very little effort
16. Unit Testing SupportUnit Testing Support
Maven makes it easy for theMaven makes it easy for the
programmer to build his test cases andprogrammer to build his test cases and
execute them. The support for testexecute them. The support for test
cases is build into the maven and onlycases is build into the maven and only
thing programmer has to do is put thething programmer has to do is put the
test classes in the appropriate directorytest classes in the appropriate directory
17. Protecting Your ResourcesProtecting Your Resources
Class files are usually loaded from the classpath.Class files are usually loaded from the classpath.
Non-class files (resources) can be loaded from theNon-class files (resources) can be loaded from the
classpath as well, using the various getResourceclasspath as well, using the various getResource
methods. If you want to keep these resources frommethods. If you want to keep these resources from
getting wiped out every time you invoke the cleangetting wiped out every time you invoke the clean
goal, you need to store resources outside of thegoal, you need to store resources outside of the
classes directory and copy them into the classesclasses directory and copy them into the classes
directory as part of the build process. Maven has adirectory as part of the build process. Maven has a
goal for this purpose called jar-resources. It doesn'tgoal for this purpose called jar-resources. It doesn't
jar anything, it just copies resources to thejar anything, it just copies resources to the
target/classes directory. Maven automatically callstarget/classes directory. Maven automatically calls
the jar-resources goal when you run the jar goal.the jar-resources goal when you run the jar goal.
18. Protecting Your ResourcesProtecting Your Resources
First, you need to tell Maven where your resource files are:First, you need to tell Maven where your resource files are:
Add the resources element, as shown below, to POM.xml:Add the resources element, as shown below, to POM.xml:
......
</unitTest></unitTest>
<resources><resources>
<resource><resource>
<directory><directory>
${basedir}/src/conf${basedir}/src/conf
</directory></directory>
</resource></resource>
</resources></resources>
</build></build>
......
Place a resource file, say box.properties, in <project_home>/src/conf.Place a resource file, say box.properties, in <project_home>/src/conf.
Run the jar goal, which indirectly runs the jar-resources goal: mvn jarRun the jar goal, which indirectly runs the jar-resources goal: mvn jar
Look in the target/classes folder. You should see that Maven copied box.propertiesLook in the target/classes folder. You should see that Maven copied box.properties
from src/conf to target/classes.from src/conf to target/classes.
19. DependenciesDependencies
The dependencies section of the pom.xmlThe dependencies section of the pom.xml
lists all of the external dependencies thatlists all of the external dependencies that
our project needs in order to build (whetherour project needs in order to build (whether
it needs that dependency at compile time,it needs that dependency at compile time,
test time, run time, or whatever)test time, run time, or whatever)
scope : compile , test , and runtimescope : compile , test , and runtime
21. Repository FeatureRepository Feature
Another interesting feature of Maven is its use of a central repositoryAnother interesting feature of Maven is its use of a central repository
to access the .jars needed to build your project . You list what .jarsto access the .jars needed to build your project . You list what .jars
and versions you need, and Maven is intelligent enough to go andand versions you need, and Maven is intelligent enough to go and
download them for you. When you run Maven for the first time, ordownload them for you. When you run Maven for the first time, or
attain a new goal, you will see console output detailing repositoryattain a new goal, you will see console output detailing repository
access to download any required .jars. This is a great feature thataccess to download any required .jars. This is a great feature that
not only makes Maven easier to use and set up, but also saves younot only makes Maven easier to use and set up, but also saves you
a lot of time and the headaches of keeping your own collection ofa lot of time and the headaches of keeping your own collection of
dependencies up to date in a local directory or in your source-codedependencies up to date in a local directory or in your source-code
control system.control system.
Maven checks the local repository and download the jars, which areMaven checks the local repository and download the jars, which are
not available in the local repositorynot available in the local repository..
(~/.m2/repository is the default location(~/.m2/repository is the default location
e.g C:Documents and Settingsdarshan.vartak.m2e.g C:Documents and Settingsdarshan.vartak.m2
23. Maven TermsMaven Terms
Project Object
Model
(POM)
An XML file that declaratively describes a project
• Basically, the POM is project meta-data. Meta-data includes build,
dependency, and general project management information. This
information is used by goals.
Goal
An executable function that acts upon a project
• Goals are written in Jelly Script. They can be project-specific or
reusable across projects. In either case, they act upon your
project. In OOP terms, think of your project and its meta-data as
an object and goals as the methods that act upon that project.
Jelly Script
Executable XML
• Jelly is an XML-based scripting language. Imagine a combination
of Ant and JSTL tags that's more general purpose. It's not coupled
to a servlet engine.
24. Maven TermsMaven Terms
maven.xml
Where you define project-specific goals, as Jelly Scripts
maven.xml is analogous to Ant's build.xml
Plug-in
Where you define reusable, cross-project goals
•Plug-ins represent Maven's major advantage: goal reuse. The actual
Jelly Script goals are defined in a file called plugin.jelly within the
plug-in's folder.
Repository
A folder for storing jar files or, more generally, build artifacts
•Think of the repository as a more structured lib folder. Maven
supports shared network repositories and local repositories.
Dependency A jar file or other artifact upon which your project depends