Главная » Uncategorized » Maven POM Project Object Model Template

Maven POM Project Object Model Template

Maven POM Template
http://maven.apache.org/guides/introduction/introduction-to-the-pom.html

http://devopsnet.com/2011/02/21/maven-pom-templates/
<?xml version="1.0" encoding="UTF-8"?>
<modelVersion>4.0.0</modelVersion>
<groupId>...</groupId> <!-- e.g. org.apache.maven -->
<artifactId>APPNAME</artifactId>
<packaging>PACKAGETYPE</packaging> <!-- e.g. jar -->
<version>...</version> <!-- e.g. 1.0.0.0-SNAPSHOT -->
<name>APPNAME</name>

<description>Description about this application</description>

<!— The properties can be added to for each individual pom,
this is just an example. You can add your own properties here —>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<org.springframework.version>3.0.2.RELEASE</org.springframework.version>
<org.slf4j.version>1.6.0</org.slf4j.version>
</properties>

<!— list the parent pom here — if there is one —>
<parent>
<groupId>…</groupId><!— Group ID of Parent POM —>
<artifactId>…</artifactId><!— Name of parent pom file —>
<version>1.0.0.0</version>
</parent>

<developers>
<developer>
<id>1</id>
<name>NAME</name>
<email>EMAIL@EMAIL.COM</email>
<organization>MYCOMPANY</organization>
<organizationUrl>http://www.mycompany.com</organizationUrl&gt;
</developer>
</developers>

<profiles>
<!— This section is optional  —>
</profiles>

<dependencies>
<!— List all app specific dependencies here —>
<!— use RELEASE as the version if you always want it to use the latest version, but note that this is NOT supported in Maven 3 —>
<dependency>
<groupId>BLA.BLA.BLA</groupId>
<artifactId>foo-api</artifactId>
<version>RELEASE</version>
</dependency>
</dependencies>

<build>
<plugins>

<!— you might need to enter some specific plugins here, however it will be better to have them in parent pom—>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.1</version>
<configuration>
<ejbVersion>3.0</ejbVersion>
</configuration>
</plugin>
</plugins>
</build>

</project>
http://www.mkyong.com/maven/how-to-create-a-java-project-with-maven/
http://www.mkyong.com/maven/how-to-create-a-project-with-maven-template/

mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name} -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

full POM

<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mkyong</groupId>
<artifactId>NumberGenerator</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>NumberGenerator</name>
<url>http://maven.apache.org</url&gt;
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>

</project>

App.java

package com.mkyong;

import java.util.UUID;

/**
* Generate a unique number
*
*/
public class App
{

public static void main( String[] args )
{
App obj = new App();
System.out.println(«Unique ID : » + obj.generateUniqueKey());
}

public String generateUniqueKey(){

String id = UUID.randomUUID().toString();
return id;

}
}

AppTest.java

package com.mkyong;

import org.junit.Assert;
import org.junit.Test;

public class AppTest {

@Test
public void testLengthOfTheUniqueKey() {

App obj = new App();
Assert.assertEquals(36, obj.generateUniqueKey().length());

}
}

$pwd
/Users/mkyong/Documents/workspace/NumberGenerator

$ java -cp target/NumberGenerator-1.0-SNAPSHOT.jar com.mkyong.App

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s