Maven
Maven is a dependency management system and build tool for rapid Java-based application development with rich features to streamline development and SCM. Maven is a Yiddish word which means "accumulator of knowledge". The Maven Project started out as an attempt to simplify build processes in a project with multiple Ant build scripts. It was proposed that a standard way to build projects, clearly define what a project consists of, easily publish project information and share JARs across several different projects would greatly simplify and lend efficiency and speed to the Java development process.
Contents
- 1 Phases
- 2 POM
- 3 Tools
- 4 Resources
- 5 Tutorials
- 6 External Links
- 7 References
- 8 See Also
Phases
Although hardly a comprehensive list, these are the most common default lifecycle phases executed.
- validate - validate the project is correct and all necessary information is available
- compile - compile the source code of the project
- test - test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed
- package - take the compiled code and package it in its distributable format, such as a JAR.
- integration-test - process and deploy the package if necessary into an environment where integration tests can be run
- verify - run any checks to verify the package is valid and meets quality criteria
- install - install the package into the local repository, for use as a dependency in other projects locally
- deploy - done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.
There are two other Maven lifecycles of note beyond the default list above. They are
- clean - cleans up artifacts created by prior builds
- site - generates site documentation for this project
Build Commands
The following are some useful commands (don't forget to remove "mvn" before adding a command to a Run Configuration in your IDE of choice, the plugin will automatically call Maven).
Standard full clean & install (with complete maven repository building of dependencies via POM dependency list):
mvn clean install -PautoInstallPackage
Clean the target directory, build and explode out a WAR file, run it in an embedded Jetty server (should be configured properly in pom.xml).
mvn clean war:exploded jetty:run -e
Run unit tests:
mvn test
Package a runnable JAR, WAR or EAR:
mvn package
Build a new snapshot and release:
mvn -U deploy
An interesting thing to note is that phases and goals may be executed in sequence:
mvn clean dependency:copy-dependencies package
Troubleshooting
Search for JARs in your local Maven repository (local cache):
file ~/.m2/repository/org/jsoup/jsoup/1.10.3/jsoup-1.10.3.jar
Given a specific JAR, search contents to find a specific class (for debugging any "ClassNotFoundException" and similar issues):
jar -tf ~/.m2/repository/org/jsoup/jsoup/1.10.3/jsoup-1.10.3.jar | grep org/jsoup/parser/Parser
POM
In Maven, the Project Object Model (POM) is the term given to the XML-based definition of a project (similar to DOAP), which focuses on providing a listing of Dependencies (libraries, supporting tools, etc), where to download or obtain those Dependencies, and how to use those dependencies together with the code contained in the software project in order to successfully perform a Build. It also provides a linkage to Defect Management (aka. Issue Management) & Testing tools. The following is an empty template for the syntax of the POM file.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!-- The Basics --> <groupId>...</groupId> <artifactId>...</artifactId> <version>...</version> <packaging>...</packaging> <dependencies> <dependency> <groupId>...</groupId> <artifactId>...</artifactId> <version>...</version> </dependency> </dependencies> <parent>...</parent> <dependencyManagement>...</dependencyManagement> <modules>...</modules> <properties>...</properties> <!-- Build Settings --> <build>...</build> <reporting>...</reporting> <!-- Additional Project Information --> <name>...</name> <description>...</description> <url>...</url> <inceptionYear>...</inceptionYear> <licenses>...</licenses> <organization>...</organization> <developers>...</developers> <contributors>...</contributors> <!-- Environment Settings --> <issueManagement>...</issueManagement> <ciManagement>...</ciManagement> <mailingLists>...</mailingLists> <scm>...</scm> <prerequisites>...</prerequisites> <repositories>...</repositories> <pluginRepositories>...</pluginRepositories> <distributionManagement>...</distributionManagement> <profiles>...</profiles> </project>
Tools
- Apache Maven: http://maven.apache.org
- Maven Version Manager: http://mvnvm.org (enables use of different Maven versions per project)
Plugins
Releases
- Releases Maven plugin: http://maven.apache.org/maven-release/maven-release-plugin/ (manage the release number of your project's build artifacts)
Versions
- Versions Maven plugin: http://www.mojohaus.org/versions-maven-plugin/ (manage the versions of artifacts in a project's POM, external dependencies, etc)
SCM
- SCM Maven plugin: https://maven.apache.org/scm/maven-scm-plugin/index.html (connect to local or remote repos such as GIT or SVN and can grab specific commits, tags, etc)
Properties
- Properties Maven plugin: http://www.mojohaus.org/properties-maven-plugin/index.html (set custom properties, system properties, environment variables, etc... and pass them into other commands or build goals)
Exec
- Exec Maven plugin: http://www.mojohaus.org/exec-maven-plugin/index.html | DOCS (run command-line commands in a separate and/or parallel process)
Continuous Integration
- Doing a release on Hudson using Maven 2 (OLD way, without plugin, from Hudson front-end): http://www.manorrock.com/documents/hudson/maven-release.html
Static Code Analysis
Checkstyle
- Maven plugin -- Checkstyle usage: https://maven.apache.org/plugins/maven-checkstyle-plugin/usage.html
PMD
- Maven plugin -- PMD usage: https://maven.apache.org/plugins/maven-pmd-plugin/[7][8]
findbugs
- Maven plugin -- findbugs usage: https://maven.apache.org/plugins/maven-site-plugin/findbugs.html[9][10]
spotbugs
- Maven plugin -- spotbugs usage: https://spotbugs.github.io/spotbugs-maven-plugin/
jUnit
- maven 2 - (jUnit) surefire test plugin: http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html
- Maven surefire - How to Use: http://maven.apache.org/plugins/maven-surefire-plugin/howto.html
SoapUI
- maven 2.X - SoapUI plugin: http://www.soapui.org/plugin/maven2/
- maven 2.X - SoapUI plugin (configuration properties): http://www.soapui.org/plugin/maven2/properties.html
- Automated SOAP testing with maven and the SoapUI plugin: http://technology.amis.nl/blog/3061/automated-soap-testing-with-maven
Tomcat
- Maven2 - Tomcat (deployment) plugin: http://mojo.codehaus.org/tomcat-maven-plugin/deployment.html
Config processor
- maven-config-processor-plugin -- Configuration Processor Plugin for Maven: http://code.google.com/p/maven-config-processor-plugin/
Castor
- Generating Java source code from a single XML schema: http://mojo.codehaus.org/castor-maven-plugin/example-simple.html
Exec (command-line)
- maven-exec-plugin: http://mojo.codehaus.org/exec-maven-plugin/ (execute any program that can be run from the command-line)
CloudTools
Language Extensions
While just about any program can be run remotely in a cloud environment via the CloudTools plugin, or by calling a local program from the command-line via the Exec plugin, there are still instances when you want to work more closely with a given programming language's specific tools such as compilers, testing suites, IDEs, etc. You can accomplish this by using one of the many Language-specific Maven extensions.
PHP
- php-maven: http://www.php-maven.org/prepare.html
Python
- Exec Maven Plugin: http://mojo.codehaus.org/exec-maven-plugin/
- Continuous Integration of Python Code with Unit Tests and Maven: http://steveberczuk.blogspot.com/2009/12/continuous-integration-of-python-code.html
Flex
- flex-mojos: http://flexmojos.sonatype.org/
C#
- Using Maven to manage .NET projects: http://communitymapbuilder.org/display/MAVENUSER/Using+Maven+to+manage+.NET+projects
- NMaven: http://nmaven.codeplex.com/wikipage?title=Getting Started&referringTitle=Home
C/C++
- "Native" code (C/C++) Maven plugin: http://mojo.codehaus.org/maven-native/native-maven-plugin/[11]
- Launching msbuild from maven and installing the exe on the repo: https://gist.github.com/180218/d48413893e91626657c8f1b587608388ad14825c
RubyScript
- Run Ruby code using Maven: http://mojo.codehaus.org/rubyscript-maven-plugin/introduction.html
Resources
- Maven -- central repository: https://search.maven.org (3.x) | Maven 2.x
- Maven - The Complete Reference (E-BOOK): http://www.sonatype.com/books/mvnref-book/reference/public-book.html
- Maven Cheat Sheet: https://zeroturnaround.com/rebellabs/maven-cheat-sheet/
- Coping with Sun JARs: http://maven.apache.org/guides/mini/guide-coping-with-sun-jars.html
- The Maven 2 POM demystified: http://www.javaworld.com/javaworld/jw-05-2006/jw-0529-maven.html
- Introduction to the Maven Build Lifecycle: http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
- Maven Integrated View for NetBeans IDE: https://blogs.oracle.com/geertjan/entry/maven_integrated_view_for_netbeans
- Maven - Configuring a Proxy: http://maven.apache.org/guides/mini/guide-proxies.html[12]
- Maven - Password Encryption: http://maven.apache.org/guides/mini/guide-encryption.html
- Maven - Introduction to the Build Lifecycle: https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html (lists main built-in commands)
- Guide to Creating and Running a JAR File in Java: http://www.baeldung.com/java-create-jar (with and without Maven)
- Maven - Versions plugin: http://www.mojohaus.org/versions-maven-plugin/ (versioning releases/snapshots of your artifacts and upgrading dependency versions)[13][14][15]
- Dealing with Maven dependencies when switching to Git: https://www.atlassian.com/git/articles/maven-dependencies-versions-merging
- Maven - Releases plugin: http://maven.apache.org/components/maven-release/maven-release-plugin/
- What is JGit Flow and why do I need a Maven plugin?: https://www.atlassian.com/blog/software-teams/maven-git-flow-plugin-for-better-releases | SRC
- A simple card game as an illustration of JDK 9 modules with Maven: https://github.com/codetojoy/WarO_Java_9_Maven
- Require Maven Version: https://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html[16]
- Maven docs (OFFICIAL) -- Introduction to Build Profiles: http://maven.apache.org/guides/introduction/introduction-to-profiles.html
Tutorials
- Maven docs -- Intro to the POM.xml: https://maven.apache.org/guides/introduction/introduction-to-the-pom.html
- Maven docs -- Introduction to the Standard Maven Directory Layout: http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
- Oracle docs -- Building and Running a Java SE Application by Using Maven: https://www.oracle.com/webfolder/technetwork/tutorials/obe/java/Maven_SE/Maven.html#section5s1
- TutorialsPoint -- Maven Quick Guide: https://www.tutorialspoint.com/maven/maven_quick_guide.htm
- Maven for building Java applications - tutorial: https://vogella.com/tutorials/ApacheMaven/article.html
- How to Create an Executable JAR with Maven: http://www.baeldung.com/executable-jar-with-maven
- Where is the Maven Local Repository?: http://www.baeldung.com/maven-local-repository
- How to create a manifest file with Maven: https://www.mkyong.com/maven/how-to-create-a-manifest-file-with-maven/
- How to create user-defined properties in Maven: https://www.mkyong.com/maven/how-to-create-user-defined-properties-in-maven/
- Writing a Full Featured Maven Pom: https://itnext.io/writing-a-full-featured-maven-pom-f5b874eef312?sk=a208ffef0355c5a0910076c7e10d6252
- Checkstyle configuration in maven: https://thecodeexamples.com/maven/checkstyle-configuration-in-maven/
- How to display Maven plugin goals and parameters: https://www.mkyong.com/maven/how-to-display-maven-plugin-goals-and-parameters/
- How to build project with Maven: https://www.mkyong.com/maven/how-to-build-project-with-maven/
- How to Publish Your Artifacts to Maven Central: http://dzone.com/articles/publish-your-artifacts-to-maven-central
- How to download sources for a jar with Maven?:https://stackoverflow.com/a/11361413
- How to update maven repository in Eclipse?: http://stackoverflow.com/questions/2555845/how-to-update-maven-repository-in-eclipse[20][21]
- Hello World Maven on the NetBeans RCP: http://netbeans.dzone.com/hello-world-maven-netbeans-rcp
- How to run a maven created JAR file using just the command line: http://stackoverflow.com/questions/15869784/how-to-run-a-maven-created-jar-file-using-just-the-command-line
- Maven –- Create a "fat JAR" file – "One-JAR" plugin example: https://www.mkyong.com/maven/maven-create-a-fat-jar-file-one-jar-example/
- Maven -- Create a "fat JAR" file – Maven Assembly Plugin: https://www.mkyong.com/maven/create-a-fat-jar-file-maven-assembly-plugin/
- Including dependencies in a jar with Maven ("maven-assembly-plugin" example): https://stackoverflow.com/questions/1729054/including-dependencies-in-a-jar-with-maven
- How do I prevent Maven from downloading artifacts every time?: https://stackoverflow.com/questions/21990854/how-do-i-prevent-maven-from-downloading-artifacts-every-time
- Playing with ActiveMQ using Maven: http://pookey.co.uk/wordpress/archives/74-playing-with-activemq-using-maven
- Creating an Enterprise Application Using Maven: http://netbeans.org/kb/docs/javaee/maven-entapp.html[22][23]
- Converting maven POM to IVY: http://vafer.org/blog/20081030002755/[24][25]
- Integrating Maven with IBM Rational Application Developer (RAD) 7.5: http://pamirerdem.blogspot.ca/2010/07/integrating-maven-with-ibm-rational.html
- NetBeans Platform CRUD Tutorial Using Maven: http://platform.netbeans.org/tutorials/nbm-maven-crud.html?intcmp=925655[26]
- How do I add a project as a dependency of another project in Maven?: http://www.avajava.com/tutorials/lessons/how-do-i-add-a-project-as-a-dependency-of-another-project.html
- How to set up maven 3 local plugin repository: https://stackoverflow.com/questions/13498186/how-to-set-up-maven-3-local-plugin-repository
- Eclipse Maven project to Dynamic Web Project layout: https://stackoverflow.com/questions/7275890/eclipse-maven-project-to-dynamic-web-project-layout#7275955
- How to Create a Web Project Using Maven in Eclipse: https://dzone.com/articles/how-to-create-a-web-project-using-maven-in-eclipse-1
- NetBeans -- Maven Best Practices: http://wiki.netbeans.org/MavenBestPractices[27][28][29][30][31][32][33]
- Missing Maven "settings.xml" file for your Eclipse? What if you need two settings.xml files, one for "Work dev environment" and one for "Personal Workspace"?: https://crunchify.com/missing-maven-settings-xml-file-for-your-eclipse-what-if-you-need-two-settings-xml-file-for-work-personal-workspace/
- How to create a Web Application Project with Maven: http://www.mkyong.com/maven/how-to-create-a-web-application-project-with-maven/
- How To Create A Java Project With Maven: http://www.javawebtutor.com/articles/maven/maven_java_project.php[34]
- Maven archetypes tutorial: https://www.vojtechruzicka.com/maven-archetypes/
- How to convert Java web project to Maven based project: http://www.mkyong.com/maven/how-to-convert-java-web-project-to-maven-project/[35]
- Understanding Maven Version Numbers: https://docs.oracle.com/middleware/1212/core/MAVEN/maven_version.htm#MAVEN8855
- Updating POM Versions: http://maven.apache.org/maven-release/maven-release-plugin/examples/update-versions.html
- Incrementing Maven Project Version with Jenkins/Git: https://stackoverflow.com/questions/9807226/incrementing-maven-project-version-with-jenkins-git
- How do I get Maven to use the correct repositories?: https://stackoverflow.com/questions/2361294/how-do-i-get-maven-to-use-the-correct-repositories (mvn -Dmaven.repo.local=~/.m2/repository clean install)
- How to set order of repositories in Maven settings.xml: https://stackoverflow.com/questions/5325407/how-to-set-order-of-repositories-in-maven-settings-xml
- Using Jenkins Build Version With Maven: https://tedvinke.wordpress.com/2013/04/20/using-jenkins-build-version-with-maven/
- How to build the right smoke test REST service in Java EE with Maven: http://www.codingpedia.org/ama/how-to-build-the-right-smoke-test-rest-service-in-java-ee-with-maven (Servlet/WebService to retrieve GIT version programmatically)
- Maven Tips and Tricks -- Encrypting Passwords: https://blog.sonatype.com/2009/10/maven-tips-and-tricks-encrypting-passwords/
- Using Maven to create Self-Contained, Rich Web Application JARs: http://dzone.com/articles/self-contained-rich-web-application-jars
- Maven -- Skipping Tests: https://maven.apache.org/plugins-archives/maven-surefire-plugin-2.12.4/examples/skipping-test.html[36][37][38]
- (What to do when) Maven does not find JUnit tests to run: https://stackoverflow.com/questions/6178583/maven-does-not-find-junit-tests-to-run (requires one of the following naming conventions for the JUnit Test classes to be followed: Test*, *Test, *TestCase)
- How to run (a specific) Unit Test with Maven: https://www.mkyong.com/maven/how-to-run-unit-test-with-maven/ (mvn test -Dtest=TestMyApp for a jUnit Test case called "TestMyApp.java" which tests the functionality of "MyApp.java")
- Run Junit Suite using Maven Command: https://stackoverflow.com/questions/11762801/run-junit-suite-using-maven-command
- How to run all tests in a particular package with Maven?: https://stackoverflow.com/questions/6819888/how-to-run-all-tests-in-a-particular-package-with-maven
- From Maven, how do I run a class that lives under src/test/java?: https://stackoverflow.com/questions/4060613/from-maven-how-do-i-run-a-class-that-lives-under-src-test-java
- Running JUnit Tests in Parallel with Maven: https://www.baeldung.com/maven-junit-parallel-tests
- Parallel builds in Maven 3: https://cwiki.apache.org/confluence/display/MAVEN/Parallel+builds+in+Maven+3
- Fork Options and Parallel Test Execution: https://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html
- How to pass parameters to maven build using pom.xml?: https://stackoverflow.com/questions/24206013/how-to-pass-parameters-to-maven-build-using-pom-xml
- Passing command line arguments from Maven as properties in pom.xml: https://stackoverflow.com/questions/7513319/passing-command-line-arguments-from-maven-as-properties-in-pom-xml
- Reading from config.properties file Maven project: https://stackoverflow.com/questions/35008377/reading-from-config-properties-file-maven-project
- Creating Profile Specific Configuration Files With Maven: https://www.petrikainulainen.net/programming/tips-and-tricks/creating-profile-specific-configuration-files-with-maven/[39]
- Reading Properties file from POM file in Maven: https://stackoverflow.com/questions/14725197/reading-properties-file-from-pom-file-in-maven/14727072
- Maven -- how to place resource file together with jar?: https://stackoverflow.com/questions/5637532/maven-how-to-place-resource-file-together-with-jar
- How to reference a resource file correctly for JAR and Debugging?: https://stackoverflow.com/questions/6192661/how-to-reference-a-resource-file-correctly-for-jar-and-debugging
External Links
- wikipedia: Apache Maven
- How to create a Maven web app and deploy to Tomcat - fast: https://wiki.base22.com/display/btg/How+to+create+a+Maven+web+app+and+deploy+to+Tomcat+-+fast
- Configuring ActiveMQ 5 with JMS Topics in Tomcat 6: http://javaguru.fi/2007/12/21/configuring-activemq-5-jms-topic-in-tomcat-6/
- Adding JMS to the Maven Repository: http://willcode4beer.com/tips.jsp?set=maven_tips
- XML Configuration File Processor: http://xconf.sourceforge.net/
- How to convert Java web project to Maven project: http://www.mkyong.com/maven/how-to-convert-java-web-project-to-maven-project/
- Most used Maven2 commands: http://www.neophob.com/2009/07/maven2-cheat-sheet/
- How to convert from Ant to Maven in 5 minutes: http://www.sonatype.com/people/2009/04/how-to-convert-from-ant-to-maven-in-5-minutes/
- How to specify local dependency in maven2: http://maven.40175.n5.nabble.com/How-to-specify-local-dependency-in-maven2-td103415.html#a103415
- Maven -- Compile Your Application to be JDK 1.4, 1.5 or 1.6 Compatible: http://twit88.com/blog/2008/03/09/maven-compile-your-application-to-be-14-15-or-16-compatible/
- Java Development with NetBeans and Maven: http://charleech.wordpress.com/2010/11/10/java-development-with-netbeans-and-maven-part-1/
- Maven 3 Support in NetBeans IDE 7.0: http://netbeans.dzone.com/articles/maven-3-support-in-netbeans-ide
- Useful Maven Repository Viewer In NetBeans: http://www.adam-bien.com/roller/abien/entry/useful_maven_repository_in_netbeans
- Imperative vs Declarative build systems: https://stackoverflow.com/questions/14955597/imperative-vs-declarative-build-systems
- Maven 1.x vs 2.x vs Ivy - feature comparison: https://web.archive.org/web/20110830140519/http://docs.codehaus.org/display/MAVEN/Feature+Comparisons (from Maven team's perspective)
- Maven .vs. Ivy - feature comparison: https://ant.apache.org/ivy/m2comparison.html (from Ivy's perspective)
- Introducing Dependency Management (or Ivy vs Maven): http://daveshepherd.co.uk/2012-05-introducing-dependency-management-or-ivy-vs-maven
- Maven 2 vs Ant+Ivy: Revisited: http://leshazlewood.com/2010/01/13/maven-2-vs-antivy-revisited/
- Using Ivy with pom.xml: http://java.dzone.com/articles/using-ivy-pomxml
- Why you should use the Maven Ant Tasks instead of Maven or Ivy: http://ptrthomas.wordpress.com/2009/03/08/why-you-should-use-the-maven-ant-tasks-instead-of-maven-or-ivy/
- CentOS 5.5 – Install Maven 3: http://ledruide.com/archives/958
- Maven Run/Build Plugin 2: http://www.tsolak.com/?p=16
- Maven Error - Failed to resolve POM: http://blog.sarathonline.com/2010/03/maven-error-failed-to-resolve-pom.html (delete cached contents from ".m2/repository")
- Unable to install Maven on Windows -- “JAVA_HOME is set to an invalid directory”: http://stackoverflow.com/a/1184098
- Debugging in Maven?: https://stackoverflow.com/questions/2935375/debugging-in-maven
- How to Debug Your Maven Build with Eclipse: https://blog.jooq.org/2015/06/23/how-to-debug-your-maven-build-with-eclipse/
- repo1.maven.org ip address keeps on changing: https://stackoverflow.com/questions/16910268/repo1-maven-org-ip-address-keeps-on-changing
- m2e lifecycle-mapping not found: http://w3cgeek.com/m2e-lifecycle-mapping-not-found.html[40]
- M2E Maven Plugin -- Importing Maven project is throwing error in Eclipse JUNO: https://stackoverflow.com/questions/19484878/m2e-maven-plugin-importing-maven-project-is-throwing-error-in-eclipse-juno
- Build maven project with propriatery libraries included: https://stackoverflow.com/questions/4491199/build-maven-project-with-propriatery-libraries-included/4491343#4491343
- How to add local jar files to a Maven project?: https://stackoverflow.com/questions/4955635/how-to-add-local-jar-files-to-a-maven-project?rq=1
- Getting exception while configuring the maven project in jenkins: https://stackoverflow.com/questions/43555981/getting-exception-while-configuring-the-maven-project-in-jenkins
- How to install maven2 on redhat linux: https://stackoverflow.com/questions/12076326/how-to-install-maven2-on-redhat-linux
- Install Maven on RHEL: https://access.redhat.com/documentation/en-us/red_hat_jboss_fuse/6.2.1/html/installation_on_jboss_eap/install_maven
- I have set JAVA_HOME and PATH variables but java -version still shows the old one: https://stackoverflow.com/questions/14119983/i-have-set-java-home-and-path-variables-but-java-version-still-shows-the-old-on
- .m2 , settings.xml in Linux/Ubuntu: https://stackoverflow.com/questions/13358635/m2-settings-xml-in-ubuntu
- Android local libraries with Maven: https://android.jlelse.eu/android-local-libraries-with-maven-b7456d4268cf\
- Why I Moved Back from Gradle to Maven: https://blog.philipphauer.de/moving-back-from-gradle-to-maven/
- What does the name SNAPSHOT in jar mean? / What's wrong with *snapshot*.jars?: https://stackoverflow.com/questions/3402806/what-does-the-name-snapshot-in-jar-mean-whats-wrong-with-snapshot-jars
- How to effectively use SNAPSHOT: http://jlorenzen.blogspot.ca/2007/09/how-to-effectively-use-snapshot.html
- Maven - Snapshots: https://www.tutorialspoint.com/maven/
- Local Maven Repository & Libraries: https://android.jlelse.eu/local-maven-repository-and-libraries-updated-story-7585f1563fb2
- Pass JAVA_HOME as parameter to mvn: https://stackoverflow.com/questions/15345215/pass-java-home-as-parameter-to-mvn
- What's a practicable way for automated configuration, versioning and deployment of Maven-based java applications?: https://stackoverflow.com/questions/14650468/whats-a-practicable-way-for-automated-configuration-versioning-and-deployment/14661186#14661186
- Usage of Maven ${basedir} in multi-module setup: https://stackoverflow.com/questions/6061537/usage-of-maven-basedir-in-multi-module-setup[41]
- Java with maven wouldn't build -- Cannot run program “cmd” “Malformed argument has embedded quote”: https://stackoverflow.com/questions/58411279/java-with-maven-wouldnt-build-cannot-run-program-cmd-malformed-argument-has
- Jenkins Build Error -- Build step 'Invoke top-level Maven targets' marked build as failure: https://stackoverflow.com/questions/45048958/jenkins-build-error-build-step-invoke-top-level-maven-targets-marked-build-as
- No archetypes currently available. The archetype list will refresh when the indexes finish updating: https://stackoverflow.com/questions/10612599/no-archetypes-currently-available-the-archetype-list-will-refresh-when-the-inde
- Import Maven Remote Archetype Catalogs in Eclipse: https://howtodoinjava.com/eclipse/how-to-import-maven-remote-archetype-catalogs-in-eclipse/
- “Add Local Catalog” workaround for Maven Archetypes behind a proxy: https://web.archive.org/web/20170208173809/http://adobeaemclub.com/configuring-aem-maven-archetype-for-eclipse-plugin/
- What to do when you get “no archetypes currently available”: https://stackoverflow.com/questions/10612599/no-archetypes-currently-available-the-archetype-list-will-refresh-when-the-inde
- Maven Archetype generate proxy issue, searching for remote catalog: https://stackoverflow.com/questions/41504411/maven-archetype-generate-proxy-issue-searching-for-remote-catalog
- How does the Archetype Plugin know about archetypes?: http://maven.apache.org/archetype/maven-archetype-plugin/specification/archetype-catalog.html
References
- ↑ Maven in 5 Minutes: http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
- ↑ Tutorial -- Build a JAR file with Maven in 5 minutes: https://cwiki.apache.org/confluence/display/MAVEN/Tutorial%3A+Build+a+JAR+file+with+Maven+in+5+minutes
- ↑ : https://stackoverflow.com/questions/3402806/what-does-the-name-snapshot-in-jar-mean-whats-wrong-with-snapshot-jars
- ↑ Read FILE properties via maven-properties plugin: https://www.mojohaus.org/properties-maven-plugin/read-project-properties-mojo.html
- ↑ mvn exec plugin -- Usage: https://www.mojohaus.org/exec-maven-plugin/usage.html (valid
- ↑ mvn exec plugin -- Changing the classpath scope when running Java programs: https://www.mojohaus.org/exec-maven-plugin/examples/example-exec-or-java-change-classpath-scope.html
- ↑ Maven – PMD example: https://www.mkyong.com/maven/maven-pmd-example/
- ↑ Analyzing JavaScript Code: https://maven.apache.org/plugins/maven-pmd-plugin/examples/javascriptReport.html
- ↑ Introduction to FindBugs: https://www.baeldung.com/intro-to-findbugs
- ↑ FindBugs Maven Plugin tutorial: https://www.petrikainulainen.net/programming/maven/findbugs-maven-plugin-tutorial/
- ↑ Native C/C++ Maven Plugin (usage):http://mojo.codehaus.org/maven-native/native-maven-plugin/usage.html
- ↑ How do I use Maven through a proxy?: https://stackoverflow.com/questions/1251192/how-do-i-use-maven-through-a-proxy
- ↑ Maven -- Versions plugin - Changing the project version: http://www.mojohaus.org/versions-maven-plugin/examples/set.html
- ↑ Maven -- Versions plugin - Advancing dependency versions: http://www.mojohaus.org/versions-maven-plugin/examples/advancing-dependency-versions.html
- ↑ Maven -- Versions plugin - Replacing -SNAPSHOT versions with their corresponding releases: http://www.mojohaus.org/versions-maven-plugin/examples/use-releases.html
- ↑ Robustly enforcing a minimum Maven version for your project: http://blog.peterlynch.ca/2009/12/robustly-enforcing-minimum-maven.html
- ↑ Creating Profile Specific Configuration Files With Maven: https://www.petrikainulainen.net/programming/tips-and-tricks/creating-profile-specific-configuration-files-with-maven/
- ↑ Build profiles -- (environment-specific) properties filtering example "pom.xml": https://github.com/pkainulainen/maven-examples/blob/master/properties-filtering/pom.xml
- ↑ Maven - How do I activate a profile from command line?: https://stackoverflow.com/questions/30927064/maven-how-do-i-activate-a-profile-from-command-line
- ↑ m2eclipse wont download maven artifacts: http://stackoverflow.com/questions/3963439/m2eclipse-wont-download-maven-artifacts
- ↑ Unable to download jars using M2Eclipse (0.10.0, using Maven 3): http://stackoverflow.com/questions/3019811/unable-to-download-jars-using-m2eclipse-0-10-0-using-maven-3/
- ↑ NetBeans Platform Quick Start Using Maven: http://platform.netbeans.org/tutorials/nbm-maven-quickstart.html?intcmp=925655
- ↑ Maven 3 support in NetBeans IDE 7.0+: http://netbeans.dzone.com/articles/maven-3-support-in-netbeans-ide
- ↑ How to convert a Maven pom.xml into an Ivy ivy.xml file : http://stefan222devel.blogspot.com/2010/01/how-to-convert-maven-pomxml-into-ivy.html
- ↑ Convert Maven POM dependencies to ivy.xml file: http://stackoverflow.com/questions/3715811/maven-pom-dependencies-to-ivy-xml-file
- ↑ NetBeans Platform Maven Command Line Tutorial: http://platform.netbeans.org/tutorials/nbm-maven-commandline.html?intcmp=925655
- ↑ NetBeans Platform Quick Start Using Maven: https://platform.netbeans.org/tutorials/nbm-maven-quickstart.html
- ↑ Creating an Enterprise Application Using Maven
- ↑ NB - Convert a project to Maven?: https://forums.netbeans.org/topic55932.html
- ↑ Converting a Netbeans project to a Maven enabled project: https://stackoverflow.com/questions/5495213/converting-a-netbeans-project-to-a-maven-enabled-project
- ↑ How to Create Web Application using Maven and Netbeans: https://javapointers.com/tutorial/create-web-application-using-maven-and-netbeans/
- ↑ Add JDBC in Netbeans Maven Project: https://stackoverflow.com/questions/30947905/add-jdbc-in-netbeans-maven-project
- ↑ NetBeanws -- Testing a Maven Enterprise Application: https://netbeans.org/kb/docs/javaee/maven-entapp-testing.html
- ↑ Code Sharing (amongst several team members)? Use Maven: https://pettermahlen.com/2010/05/01/code-sharing-use-maven/
- ↑ Maven & Jenkins with Selenium: Complete Tutorial: https://www.guru99.com/maven-jenkins-with-selenium-complete-tutorial.html
- ↑ Maven – How to skip unit test: https://www.mkyong.com/maven/how-to-skip-maven-unit-test/
- ↑ Difference between -Dmaven.test.skip=true and -DskipTests in Maven: https://memorynotfound.com/maven-skip-unit-tests/
- ↑ Maven skip tests (explained): https://stackoverflow.com/questions/24727536/maven-skip-tests
- ↑ maven profiles - load config.properties based on environment : http://maven.40175.n5.nabble.com/maven-profiles-load-config-properties-based-on-environment-td5752105.html
- ↑ m2e lifecycle-mapping not found: https://stackoverflow.com/questions/7409823/m2e-lifecycle-mapping-not-found/7423909
- ↑ Getting parent directory of ${basedir} from maven: https://stackoverflow.com/questions/19511785/getting-parent-directory-of-basedir-from-maven