Tag Archives: maven

pom.xml

pom.xml is the configuration file of maven… the main file… the one most important file… and its kinda confusing… 🙁

the basic xml tags are easy and mostly slefexplaining… every thing is based on the basic lifecycle… but with plugins it is possible to improve and change the lifecycle…

first of all it is possible to create Mojo classes (<name>Mojo)… these classes can be executed during the build process… whereas the pluginname (artifactId) is mavan-<name>-plugin… and if set a groupId a java package name…  with a <configurations> tag it is possible to set private parameters on initialisation…

additionally these classes can be executed… in the <execution> the when of the execution can be defined, in which phase (phase-tag).

mostly helpful

actual its really confusing but i think  i start to see the power of maven… but i think learning maven is only possible to do so on the job… so only if you really need to create plugins, dependencies and other fancy stuff, you really understand it… and the problem of this learning approach is lerning-it-wrong possibility…

currently there is a pom.xml file on my project, so my maven learning curve will be slow 🙁 or just flat 😛

maven lifecycle

ok commands are cool… understanding them is easy… but seeing behind it is hard, but important… follworing list of commands is from Build Lifecycle Basics:

  • 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.

the important thing here is, that if you call package, all the commands before will be called… eg. validate, compile, test and package.

this is the default behavior and can be modified by plugins…

maven commands

the tutorial is actually really good, and i think i understand it… ok currentlly its just the basic tutorial project, but hey… i really didnt know anything…

following command list might be useful 🙂

  • mvn compile: as its named, compiles the project 🙂
  • mvn test: runs all the implemented test…
  • mvn package: comiles and tests the project and creates the jar file, or whatever is defined…
  • mvn install: puts the jarfile to the repository… as defined somewhere… hopefully the somewhere will be solved in the tutorial 🙂

there are other commands… but currentlly less important…

import maven projects to eclipse

maven has its predefined structure of the project files and there is a simple, easy command to create it 🙂

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=com.mycompany.app -DartifactId=my-app

and yeah… its from a tutorial… so the structure is ready… the pom.xml is created… but it has no eclipse .project file… ok i could have created the same thing in eclipse, with a maven plugin, which is actually installed on my eclipse… but as i told you before… its a tutorial… and importing to eclipse is easy… with the plugin…

Import… –> Maven –> Existing Maven Project

nuff said…

building in maven

once again… new projects, new concepts and new technologies… this time its maven… the project i am working on, has already set up everything (hopefully)… and my maven knowledge didnt even allow starting the build process… so current reading everything about maven… starting with the wiki page… an building is named packaging… and the console command is:

mvn package

or in eclipse:

right-clicking the project –> Run as –> Mavan Package