Maven is something like makefile in linux. Maven helps in compilation. when you say 'mvn install' it reads the pom.xml file. pom.xml have various tags essential tags for creating basic pom.xml are as below. Please note i have put comments between <!-- --> which is standard xml comment tag.
pom.xml
<!-- Dependencies on exiting code>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>sal</artifactId>
<version>0.5.0-SNAPSHOT</version>
</dependency>
</dependencies>
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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- Do not change above lines. They provide xml version and maven version info -->
<parent>
<!-- Everything inside this tab is your parents, i.e on top of which you will make your application -->
<groupId>org.opendaylight.controller</groupId>
<!-- its the project where your parent is located-->
<artifactId>commons.opendaylight</artifactId>
<!-- Parent application name-->
<version>1.4.0-SNAPSHOT</version>
<!-- Parents version-->
<relativePath>../../commons/opendaylight</relativePath>
<!-- Path where parent pom file is located-->
</parent>
<scm>
<connection>scm:git:ssh://git.opendaylight.org:29418/controller.git</connection>
<developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
<url>https://wiki.opendaylight.org/view/OpenDaylight_Controller:Main</url>
</scm>
<!-- Everything inside scm tag is for version controlling you can delete this tag if you want-->
<artifactId>samples.userinfo</artifactId>
<!-- this is your application name. -->
<version>0.0.1-SNAPSHOT</version>
<!-- Your application version. -->
<packaging>bundle</packaging>
<!-- Tells maven you want to create OSGi bundle. -->
<build>
<!-- Information on how to build the code-->
<plugins>
<plugin>
<!-- Info on which plugin to use from maven -->
<groupId>org.apache.felix</groupId>
<!-- Project name for that plugin-->
<artifactId>maven-bundle-plugin</artifactId>
<!-- Kind of obvious we are making an OSGi bundle-->
<version>2.3.6</version>
<!-- Plugins option-->
<extensions>true</extensions>
<!-- Use extension for this project-->
<configuration>
<instructions>
<Import-Package>
org.opendaylight.controller.sal.core,
org.slf4j,
</Import-Package>
<!-- Which package to import for building the code-->
<Export-Package>
org.opendaylight.controller.samples.userinfo
</Export-Package>
<!-- Name of the package, which will be exported-->
<Bundle-Activator>
org.opendaylight.controller.samples.userinfo.internal.Activator
</Bundle-Activator>
<!-- Address where OSGi activator is located -->
</instructions>
<manifestLocation>${project.basedir}/META-INF</manifestLocation>
<!-- Address of OSGi META file -->
</configuration>
</plugin>
</plugins>
</build>
<dependencies><!-- Dependencies on exiting code>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>sal</artifactId>
<version>0.5.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
For more information on how to make a simple application in open daylight controller click here
For more information on how to make a simple application in open daylight controller click here
Hello, I read all of your posts related to the way how to develop and execute a bundle for ODC. That would be very helpful, but I've been experiencing several problems;
ReplyDeleteFirst, in this post, your modified pom.xml seems complicated... I've read the Maven guide and the document explains about multi-module project, dependency, etc. The pom.xml is likely to require such things, but you just described only one pom.xml file.
Could you let me know the exact skeleton of the project like
sample
│ pom.xml
│
└─src
├─main
│ └─java
│ └─com
│ └─example
│ App.java
│
└─test
└─java
└─com
└─example
AppTest.java
?
Thanks in advance!
A pesticide spraying in Riyadh*Spraying pesticide in Riyadh*examination in Riyadh*Restoration in Riyadh*Water leak detection in Riyadh*Spraying of pesticides in Riyadh*A water insulation in Riyadh*Insulation of tanks in Riyadh*Furniture transfer in Riyadh*Foam insulation in Dammam
ReplyDelete