??xml version="1.0" encoding="utf-8" standalone="yes"?> 首先单介l下 Maven ?profile 是什么。对于h来说Qprofile 是指人的肖像Q轮廓,比如论坛里每个h注册了帐号后Q可以设|自q profileQ放上照片,介绍{等。对?Maven 来说又是怎样呢?整个目定义好了目对象模型QPOMQ,像论坛为每个h提供了默认的行ؓ功能Q如果我x变我机器上的 POM 呢?q时可以?profile。下面D个例子: q个 profile 的意思是Q当机器上的 JDK ?.6的时候,构徏 simple-script q个子模块,如果?.5或?.4Q那׃构徏Q这?profile 是由环境自动Ȁzȝ?/p>
我们需要在合适的地方使用合适的 profile Qƈ且在合适的时候用合适的方式其Ȁz,你不能在构徏服务器上Ȁz非公共?profileQ你也不能要求开发h员写很复杂的命o来用常规的 profile。因此这里介l一下几U?profile 的激zL式?/p>
1. Ҏ(gu)环境自动ȀzR?/p>
如前一个例子,?JDK ?.6的时候,Maven ׃自动构徏 simple-script 模块。除?JDK 之外Q我们还可以Ҏ(gu)操作pȝ参数?Maven 属性等来自动激z?profileQ如Q?/p>
2. 通过命o行参数激zR?/p>
q是最直接和最单的方式Q比如你定义了一个名?myProfile ?profileQ你只需要在命o行输?mvn clean install -Pmyprofile
p其Ȁz,q种方式的好处很明显Q但是有一个很大的弊端Q当 profile 比较多的时候,在命令行输入q写 -P 参数会让得厌烦,所以,如果你一直用q种方式Q觉得厌烦了Q可以考虑使用其它自动Ȁzȝ方式?/p>
3. 配置默认自动ȀzR?/p>
Ҏ(gu)很简单,在配|?profile 的时候加上一条属性就可以了,如: 在一个特D的环境下,配置默认自动Ȁzȝ profile 覆盖默认?POM 配置Q非常简单有效?/p>
4. 配置 settings.xml 文g profile ȀzR?/p>
settings.xml 文g可以?~/.m2 目录下,为某个用L自定义行为服务,也可以在 M2_HOME/conf 目录下,为整台机器的所有用h务。而前者的配置会覆盖后者。同理,?settings.xml Ȁzȝ profile 意在为用h者整个机器提供特定环境配|,比如Q你可以在某台机器上配置一个指向本地数据库 URL ?profileQ然后用该机器?settings.xml Ȁzd。激zL式如下: Maven 提供?profile 功能非常强大和灵z,用得好的话,可以有效的隔d多特D的配置Q得整个项目能在不同环境中利的构建。但是,强大和灵zd来得问题是相寚w掌握Q希望本文能?Maven 使用者有帮助?/p>
Because I couldn't find a clear overview of which properties are
availabe in maven2 I started this page. It is a collection of things
found in the offcial maven documentation and postings to the maven user
mailing list. Note: In Maven 3.0, all pom.* properties are deprecated. Use project.* instead! All elements in the pom.xml, can be referenced with the project. prefix or using pom. as prefix. This list is just an example of some commonly used elements. Similarly, values in the user's settings.xml can be referenced using property names with settings. prefix. Environment variables can be referenced using the env prefix All Java System Properties defined by the JVM. User defined properties in the pom.xml. How can parent project variables be accessed? You can use the prefix: ${project.parent}. A good way to determine possible variables is to have a look
directly at the API. I'm currently using Maven 2.2.1, and to access the
Parent you can use ${project.parent}. This will return an org.apache.maven.project.MavenProject instance. To access the parent version: ${parent.version}. The pattern ${someX.someY.someZ} can simply sometimes mean getSomeX().getSomeY().getSomeZ(). Thus, properties such as ${project.build.directory} is translated to getProject().getBuild().getDirectory().
# filter.properties
my.filter.value=hello!
<build>
<filters>
<filter>${baseDir}/pom.properties</filter>
</filters>
</build>
不过q种方式要启动资源过滤,q设|好对应的文件夹才行Q相对较ȝ?
2.使用插gQ?br />
maven-properties-plugin 使用Ҏ(gu)可以看插件的官方地址Qhttp://haroon.sis.utoronto.ca/zarar/properties-maven-plugin/index.html
properties-maven-plugin 使用Ҏ(gu)可以看插件的官方地址Qhttp://mojo.codehaus.org/properties-maven-plugin/
]]>Build in properties
Pom/Project properties
Local user settings
Environment variables
<jvm>${java.home}../bin/java.exe</jvm>Java system properties
Custom properties in the POM
<project>
...
<properties>
<my.filter.value>hello</my.filter.value>
</properties>
...
</project>
Parent Project variables
Reflection Properties
]]>
One of the coolest features of these containers is the hot-deployment.
However, every second time a hot deployment is executed, it crashes due to a PermGen space Exception or a similar OutOfMemoryException.
The cause for this behaviour is a memory leak with the classloaded of these containers. If you are interested in the details, you may read this article on the Classloader Memory Leaks.
Actually, you can’t fix this bug. But there is a way to prevent it from beeing so painful. And it’s pretty easy: simply assign more memory to your JVM!
In order to do so, create a new environment variable named MAVEN_OPTS
. Maybe you already defined this variable. What you have to do now is to adjust the MaxPermSize
(and the other parameters, too) to a proper value according to your machine’s memory.
For instance, set the MAVEN_OPTS
like this:
-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m
Having 2 GB of RAM, these values are a good start.
Now you should be rid of the nasty PermGen space exceptions.
解决的方法是调整java的堆大小的倹{?/p>
扑ֈ文g%M2_HOME%"bin"mvn.bat Q这是启动Maven的脚本文Ӟ在该文g中你能看到有一行注释ؓQ?/strong>
@REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE...
它的意思是你可以设|一些Maven参数Q我们就在注释下面加入一行:
之后Q当你运行Maven命o?mvn -version 的时候,你会看到如下的输出:
我们看到Q配|的Maven选项生效了,OutOfMemoryError也能得以相应的解冟?/strong>
也可以通过讄环境变量解决该问题, 如,~辑文g /etc/profile 如下
?Hudson + Maven做持l集成,q不q怹遇到了类似的错误Q那么上qCU方式都不再v作用了,因ؓHudson使用自己的maven-agent来启动MavenQ不会去调用Maven的脚本,自然相应的配|也无效了?/strong>
好在Hudson也给为我们提供了配置点,在Hudson的项目配|页面中Q有一块Build区域Q这里我们已l? 讄了Root Pom和Goals。注意该区域的右下角有一?Advanced..."按钮Q点M看到MAVEN_OPTS输入框,q里输入"-Xmx512m"? OK了?/strong>
cM以上的方法都会失效,所qm2eclipse提供了配|点。步骤如下:
目上右?-> Run As -> Run Configurations -> Maven Build 上右?-> New
q时会看C个mavenq行配置对话框,q里面其它的配置我不多解释了Qؓ了解军_存溢出的问题Q我们可以选择W二个TAB: JREQ然后在VM arguments中输入配|如Q?Xms128m -Xmx512m?/strong>
q有一U说法:
~辑maven"bin中的mvn文gQ?
exec "$JAVACMD" "
-Xmx256m "
tools.jar
for JDKs on Windows, Linux and Solaris (it is already
included in the runtime for Mac OS X and some free JDKs).
...
<profiles>
<profile>
<id>default-tools.jar</id>
<activation>
<property>
<name>java.vendor</name>
<value>Sun Microsystems Inc.</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.4.2</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</profile>
</profiles>
...
The configuration free classic way to start Eclipse with desired VM.
$>eclipse -vm "C:\Program Files\Java\jdk1.6.0_01\bin"
q个问题一般是׃使用了struts2引v的:
用了m2eclipse 插g后,使用struts2Ӟ需要依?com.sun ?default-tools.jarQ见pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>cn.tianxing.gehouse.admin</groupId>
<artifactId>admin.gehouse.cn</artifactId>
<name>admin.gehouse.cn</name>
<version>0.0.1</version>
<description>admin.gehouse.cn</description>
<url>http://admin.gehouse.cn</url>
<issueManagement>
<system>jira</system>
<url>http://jira.gehouse.cn:8080/BrowseProject.jspa?id=10000</url>
</issueManagement>
<ciManagement>
<system>continuum</system>
<url>http://ci.gehouse.cn:8090/continuum</url>
<notifiers>
<notifier>
<type>msn</type>
<sendOnSuccess>false</sendOnSuccess>
<sendOnWarning>false</sendOnWarning>
<configuration>
<address>kylindai@hotmail.com</address>
</configuration>
</notifier>
<notifier>
<type>msn</type>
<sendOnSuccess>false</sendOnSuccess>
<sendOnWarning>false</sendOnWarning>
<configuration>
<address>larrin2002@msn.com</address>
</configuration>
</notifier>
<notifier>
<type>msn</type>
<sendOnSuccess>false</sendOnSuccess>
<sendOnWarning>false</sendOnWarning>
<configuration>
<address>manjingtou-ren@hotmail.com</address>
</configuration>
</notifier>
</notifiers>
</ciManagement>
<inceptionYear>2007-05</inceptionYear>
<developers>
<developer>
<name>kylin.dai</name>
<email>kylin.dai@gehouse.cn</email>
</developer>
<developer>
<name>larrin.luo</name>
<email>larrin.luo@gehouse.cn</email>
</developer>
<developer>
<name>jason.ren</name>
<email>jason.ren@gehouse.cn</email>
</developer>
</developers>
<scm>
<connection>scm:svn:svn://svn.gehouse.cn/sandbox/kylin/admin.gehouse.cn/trunk</connection>
</scm>
<organization>
<name>gehouse.cn</name>
<url>http://www.gehouse.cn</url>
</organization>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>default-tools.jar</id>
<activation>
<property>
<name>java.vendor</name>
<value>Sun Microsystems Inc.</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.5.0</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</profile>
</profiles>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>com.ibatis</groupId>
<artifactId>ibatis</artifactId>
<version>2.3.0.667</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.5</version>
</dependency>
<dependency>
<groupId>org.extremecomponents</groupId>
<artifactId>extremecomponents</artifactId>
<version>1.0.1</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-mock</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.0.6</version>
</dependency>
</dependencies>
<reporting>
<plugins>
<plugin>
<artifactId>maven-changelog-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-pmd-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-changes-plugin</artifactId>
<reportSets>
<reportSet>
<reports>
<report>jira-report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
</project>
q个pom.xml 在eclipse里加载的时候L报告Q?br />
Missing:
1) com.sun:tools:jar:1.4.2
Try downloading the file manually from the project website.
Then, install it using the command:
mvn install:install-file -DgroupId=com.sun -DartifactId=tools "
-Dversion=1.4.2 -Dpackaging=jar -Dfile=/path/to/file
Path to dependency:
原来Q是${java.home}在作怪,eclipse 没有使用 JAVA_HOME
默认Qeclipse 使用 C:"windows"system32"javaw.exe 作ؓ JVMQ当然找不到tools.jar
解决Ҏ(gu)如下Q?br />
修改 eclipse.exe 目录下的 eclipse.ini 指定vmQ加入红色黑体字部分Q注?-vm后面不能有空根{?br />
-vm
D:"Program Files"Java"jdk1.6.0_01"bin"javaw.exe
-vmargs
-Xms128m
-Xmx512m
再次启动 eclipseQ问题解冟?br />
上面的pom.xml文gQ也是一?Mavne2 & Continuum 的例子,由我写的 Maven2 &
Continuum 持箋整合 (3)Q发布时Q网l故障丢׃Q也不打重新再写一了Q上q的pom.xmlQ可以在continuum?add
maven2 projects 里,d使用Q设?schedulerQ可以设1时 build 一ơ,半小?test 一ơ,{不同的d
In order to deploy a web app to your Tomcat server, you will need to
ensure that you can access the Tomcat Manager application at: http://localhost:8080/manager/html. Typically, you just need to ensure that your <tomcat>/conf/tomcat-users.xml file has the following defined:
<? xml version = '1.0' encoding = 'utf-8' ?> |
< tomcat-users > |
< role rolename = "manager" /> |
< role rolename = "admin" /> |
< user username = "admin" password = "admin" roles = "admin,manager" /> |
</ tomcat-users > |
In this case, we will be logging in to the Tomcat Manager app using:
username | admin |
---|---|
password | admin |
Next, we will use a Maven archetype to generate a new web application project.
Assuming that you will primarily use Eclipse as your IDE, you may wish to start the project within Eclipse. We'll start the project within Eclipse and then use Maven to fill the project in with the proper Maven web app structure.
The steps above just create a General project in your Eclipse workspace (e.g. a folder with a .project settings file inside of it).
Next, open a command prompt, cd into the 'sw' project directory, and then execute the following Maven command (all on one line):
mvn archetype:create |
-DgroupId=com.burlesontech.sw |
-DartifactId=webapp |
-DarchetypeArtifactId=maven-archetype-webapp |
You project will now have the following structure:
In Eclipse, right-click on the project and select Refresh to see this stuff within Eclipse. (Note that the .project file will typically not appear within Eclipse, but it is there.)
Back to TopOpen your Maven settings.xml file (e.g. C:"Documents and Settings"Administrator".m2"settings.xml) and add a server 'myserver' with the credentials for logging into the Tomcat Manager application:
< settings > |
< servers > |
< server > |
< id >myserver</ id > |
< username >admin</ username > |
< password >admin</ password > |
</ server > |
</ servers > |
... |
Open the pom.xml file in the 'sw' project and replace the <build> section so that it looks like this:
< build > |
< finalName >sw</ finalName > |
< plugins > |
< plugin > |
< groupId >org.codehaus.mojo</ groupId > |
< artifactId >tomcat-maven-plugin</ artifactId > |
< configuration > |
< server >myserver</ server > |
< path >/sw</ path > |
</ configuration > |
</ plugin > |
</ plugins > |
</ build > |
Here, we have added the Tomcat plugin for Maven. Note that the
<configuration> section needs to point to the server you defined
in settings.xml ('myserver'). The <finalName> and the
<path> are used to tell the web context that you want to deploy
to. In this case, we'll be able to access our application at http://localhost:8080/sw.
On a command prompt, you can now cd into the sw/webapp directory where the project pom exists. The execute the following command:
mvn tomcat:deploy |
If you get a BUILD SUCCESSFUL message, you should then be able to access your web application at http://localhost:8080/sw/.
You should see "Hello World!" in your web browser (from the index.jsp page). Now you're all set and ready to start building the next killer web app!
If you try to deploy again with the same command, you will likely get a FAIL message because the application already exists at the path. For successive deployments, use the following command instead:
mvn tomcat:redeploy |
Next, you may want to enable log4j logging for your new application; check out How to setup Log4j in a web app - fast.
Eclipse->Windows->Preferences->java->Build Path->Classpath Variable->New
名字:M2_REPOQ属性选folderQ指向C:\Documents and Settings\your name\.m2\repository
The next section documents the directory layout expected by Maven and the directory layout created by Maven. Please try to conform to this structure as much as possible; however, if you can't these settings can be overridden via the project descriptor.
src/main/java | Application/Library sources |
src/main/resources | Application/Library resources |
src/main/filters | Resource filter files |
src/main/assembly | Assembly descriptors |
src/main/config | Configuration files |
src/main/webapp | Web application sources |
src/test/java | Test sources |
src/test/resources | Test resources |
src/test/filters | Test resource filter files |
src/site | Site |
LICENSE.txt | Project's license |
README.txt | Project's readme |
At the top level files descriptive of the project: a pom.xml file (and any properties, maven.xml or build.xml if using Ant). In addition, there are textual documents meant for the user to be able to read immediately on receiving the source: README.txt, LICENSE.txt, etc.
There are just two subdirectories of this structure: src and target. The only other directories that would be expected here are metadata like CVS or .svn, and any subprojects in a multiproject build (each of which would be laid out as above).
The target directory is used to house all output of the build.
The src directory contains all of the source material for building the project, its site and so on. It contains a subdirectory for each type: main for the main build artifact, test for the unit test code and resources, site and so on.
Within artifact producing source directories (ie. main and test), there is one directory for the language java (under which the normal package hierarchy exists), and one for resources (the structure which is copied to the target classpath given the default resource definition).
If there are other contributing sources to the artifact build, they would be under other subdirectories: for example src/main/antlr would contain Antlr grammar definition files.
对于使用maven的骨架创建工E,惛_大家都已l熟(zhn)了Q这里是一些常用的工程cdQ如想看到更多的骨架可以使用mvn的交互式Interactive generate Goal创徏指oQmvn archetype:generate
// Creating a simple java application
mvn archetype:create -DgroupId=[your project's group id] -DartifactId=[your project's artifact id]
// Creating a webapp
mvn archetype:create -DgroupId=[your project's group id]
-DartifactId=[your project's artifact id]
-DarchetypeArtifactId=maven-archetype-webapp
// Creating a site
mvn archetype:create -DgroupId=[your project's group id]
-DartifactId=[your project's artifact id]
-DarchetypeArtifactId=maven-archetype-site-simple
// Creating a mojo
mvn archetype:create -DgroupId=[your project's group id]
-DartifactId=[your project's artifact id]
-DarchetypeArtifactId=maven-archetype-mojo
// Creating a portlet
mvn archetype:create -DgroupId=[your project's group id]
-DartifactId=[your project's artifact id]
-DarchetypeArtifactId=maven-archetype-portlet
现在想介l的是多模块的工E的构徏?/p>
典型的多模块划分Q即按MVC的分层方式来构徏多个模块Q如工程包括web,business,core3个模块。好我们先看看主工程的pom中应d些什么,h意红色文字部?/p>
1.dE的pom文g中内容:
<modelVersion>4.0.0</modelVersion>
<groupId>com.your-company.xxxx</groupId>
<artifactId>xxxx</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
<name>xxxx Project</name>
<url>http://maven.apache.org</url>
<!-- 工程所包含的模?-->
<modules>
<module>xxxx-core</module>
<module>xxxx-business</module>
<module>xxxx-web</module>
</modules>
2.Web模块的pom文gQ?/strong>
<!-- 父的pom文g位置 -->
<parent>
<groupId>com.your-company.xxxx</groupId>
<artifactId>xxxx</artifactId>
<version>1.0</version>
<relativePath>../pom.xml</relativePath>
</parent>
<groupId>com.your-company.xxxx</groupId>
<artifactId>xxxx-web</artifactId>
<packaging>war</packaging>
<version>1.0</version>
<name>xxxx-web/name>
<url>http://maven.apache.org</url>
<dependencies>
<!-- Application Dependencies -->
<!-- Web层所依赖的上两层模块 -->
<dependency>
<groupId>com.your-company.xxxx</groupId>
<artifactId>xxxx-core</artifactId>
<version>${version}</version>
</dependency>
<dependency>
<groupId>com.your-company.xxxx</groupId>
<artifactId>xxxx-business</artifactId>
<version>${version}</version>
</dependency>
...
<dependencies>
3.完成后,mvn eclipse:eclipse后的文g目录为:
xxxx
├─xxxx-core
? ├─pom.xml
? ├─.settings
? ├─src
? ? ├─main
? ? ? ├─java
? ? ? └─resources
? ? └─test
? ?nbsp; ├─java
? ?nbsp; └─resources
? └─target
?nbsp; ├─classes
?nbsp; └─test-classes
├─xxxx-business
? ├─pom.xml
? ├─.settings
? ├─src
? ? ├─main
? ? ? ├─java
? ? ? └─resources
? ? └─test
? ?nbsp; ├─java
? ?nbsp; └─resources
? └─target
?nbsp; ├─classes
?nbsp; └─test-classes
├─xxxx-web
? ├─pom.xml
? ├─.settings
? ├─src
? ? ├─main
? ? ? ├─java
? ? ? └─resources
? ? └─test
? ?nbsp; ├─java
? ?nbsp; └─resources
? └─target
?nbsp; ├─classes
?nbsp; └─test-classes
|--pox.xml
<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.oreilly</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>Maven Quick Start Archetype</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
<build>
<finalName>PromoteC</finalName>
</build>
<dependency>
<groupId>quartz</groupId>
<artifactId>quartz</artifactId>
<version>1.5.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.0</version>
<scope>compile</scope>
</dependency>
<repositories>
<repository>
<id>Ibiblio</id>
<name>Ibiblio</name>
<url>http://www.ibiblio.org/maven/</url>
</repository>
<repository>
<id>PlanetMirror</id>
<name>Planet Mirror</name>
<url>http://public.planetmirror.com/pub/maven/</url>
</repository>
</repositories>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.oreilly</groupId>
<version>1.0-SNAPSHOT</version>
<artifactId>my-app</artifactId>
<packaging>pom</packaging>
<modules>
<module>Common</module>
<module>Utilities</module>
<module>Application</module>
<module>WebApplication</module>
</modules>
</project>
<dependencies>
<dependency>
<groupId>com.oreilly</groupId>
<artifactId>Common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<dependencies>
<dependency>
<groupId>com.oreilly</groupId>
<artifactId>Common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.oreilly</groupId>
<artifactId>Utilities</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<dependencies>
<dependency>
<groupId>com.oreilly</groupId>
<artifactId>Common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.oreilly</groupId>
<artifactId>Utilities</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.oreilly</groupId>
<artifactId>Application</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<parent>
<groupId>com.oreilly</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
</plugins>
</reporting>