Skip to content

Instantly share code, notes, and snippets.

@wavescholar
Last active August 29, 2015 14:06
Show Gist options
  • Select an option

  • Save wavescholar/30af20ef747cfde74b51 to your computer and use it in GitHub Desktop.

Select an option

Save wavescholar/30af20ef747cfde74b51 to your computer and use it in GitHub Desktop.
Maven Setup
Maven Eclipse Setup
run this in the directory
mvn archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DgroupId=com.bcampbell.hadoopproject \
-DartifactId=wordcount
Many things will be downloaded from cloudera.
Confirm some stuff;
[INFO] Using property: artifactId = wordcount
Define value for property 'version': 1.0-SNAPSHOT: : 0.0.1
[INFO] Using property: package = com.bcampbell.hadoopproject
Confirm properties configuration:
groupId: com.bcampbell.hadoopproject
artifactId: wordcount
version: 0.0.1
package: com.bcampbell.hadoopproject
Y: : Y
A pom file will be generated.
------------------------mvn cmd
Maven Phases
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
Phases are actually mapped to underlying goals. The specific goals executed per phase is dependant upon the packaging type of the project. For example, package executes jar:jar if the project type is a JAR, and war:war if the project type is - you guessed it - a WAR.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment