| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <title>NetBeans Platform Maven Command Line Tutorial</title> |
| <link rel="stylesheet" type="text/css" href="https://netbeans.org/netbeans.css"/> |
| <meta name="AUDIENCE" content="NBUSER"/> |
| <meta name="TYPE" content="ARTICLE"/> |
| <meta name="EXPIRES" content="N"/> |
| <meta name="indexed" content="y"/> |
| <meta name="description" |
| content="This tutorial demonstrates how to create a simple NetBeans Platform application and module from a command line prompt using the Maven build framework."/> |
| <!-- Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. --> |
| <!-- Use is subject to license terms.--> |
| </head> |
| <body> |
| |
| <h1>NetBeans Platform Maven Command Line Tutorial</h1> |
| |
| <p>Welcome to the <a href="https://platform.netbeans.org/"><b>NetBeans Platform</b></a>!</p> |
| |
| <p>This document demonstrates how to create a |
| NetBeans Platform application and module from a command line prompt using the Maven build framework. |
| To create this application you do not need to install or use the NetBeans IDE. |
| You will need to create and edit some files, but you can use a simple text editor. |
| However, an IDE can be very helpful when performing tasks such as editing the POM and managing dependencies.</p> |
| |
| <p>In this tutorial you will see that after you install Maven, you can specify goals and parameters |
| and execute Maven goals from the command line prompt to create and build projects. |
| The IDE performs the same task, but provides an interface that simplifies the task of specifying |
| the parameters for creating projects.</p> |
| |
| <p><b>Contents</b></p> |
| <ul class="toc"> |
| <li><a href="#01">Creating the NetBeans Platform Application</a></li> |
| <li><a href="#02">Installing and Running the NetBeans Platform Application</a></li> |
| <li><a href="#03">Creating a NetBeans Module from an Archetype</a></li> |
| <li><a href="#04">Adding the New NetBeans Module as a Dependency</a></li> |
| <li><a href="#05">Building the NetBeans Platform Application With the New NetBeans Module</a></li> |
| </ul> |
| |
| <p><b>To follow this tutorial, you need the software and resources listed in the following table.</b></p> |
| |
| <table> |
| <tbody> |
| <tr> |
| <th class="tblheader" scope="col">Software or Resource</th> |
| <th class="tblheader" scope="col">Version Required</th> |
| </tr> |
| <tr> |
| <td class="tbltd1"><a href="http://java.sun.com/javase/downloads/index.jsp">Java Developer Kit (JDK)</a></td> |
| <td class="tbltd1">version 6 or above</td> |
| </tr> |
| <tr> |
| <td class="tbltd1"><a href="http://maven.apache.org/">Maven</a></td> |
| <td class="tbltd1">version 3.0.3 or higher, |
| though 2.x versions may still work.</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <p>Before starting this tutorial you may want to familiarize yourself with |
| the following documentation.</p> |
| <ul><li><a href="http://maven.apache.org/guides/mini/guide-configuring-maven.html">Maven - Guide to Configuring Maven</a></li> |
| <li><a href="http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html">Maven in 5 Minutes</a></li> |
| <li><a href="http://www.sonatype.com/books/maven-book/reference/introduction.html">Chapter 1. Introducing Apache Maven</a> |
| (from <a href="http://www.sonatype.com/books/maven-book/reference/public-book.html">Maven: The Definitive Guide</a>)</li> |
| </ul> |
| |
| |
| <!-- =================================================================== --> |
| <!-- +++++++++++++++ Creating the Application ++++++++++++++++++++++++++ --> |
| |
| |
| <h2><a name="01"></a>Creating the NetBeans Platform Application</h2> |
| <p>In this exercise you will execute the Maven goal <tt>generate</tt> from the command line to generate |
| a new NetBeans Platform application from an archetype in the codehaus.org repository. |
| In the command you will specify the parameters that will be used when Maven generates the application.</p> |
| <ol> |
| <li>Install <a href="http://maven.apache.org/">Maven</a>.</li> |
| <li>Open a command line terminal.</li> |
| <li>Test your Maven installation by typing the following command. |
| <pre class="examplecode">mvn -version</pre> |
| |
| <p>After you type the command you will see details about the Maven installation, |
| including the version of Maven and the JDK, such as the following:</p> |
| <pre class="examplecode">Apache Maven 3.0.3 (rdebian-4) |
| Java version: 1.6.0_25 |
| Java home: /home/geertjan/jdk1.6.0_25/jre |
| Default locale: en_US, platform encoding: UTF-8 |
| OS name: "linux" version: "2.6.38-13-generic" arch: "i386" Family: "unix"</pre></li> |
| <li>Navigate to the directory where you want to create the NetBeans Platform application.</li> |
| <li>Type the following command, on a single line, in a terminal window |
| (also known as the command prompt): |
| |
| <pre class="examplecode">mvn |
| -DarchetypeGroupId=org.codehaus.mojo.archetypes |
| -DarchetypeArtifactId=netbeans-platform-app-archetype |
| -DarchetypeVersion=1.10 |
| archetype:generate</pre> |
| |
| <p class="tips">Here it is on a single line:</p> |
| |
| <pre class="examplecode">mvn -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=netbeans-platform-app-archetype -DarchetypeVersion=1.10 archetype:generate</pre> |
| |
| </li> |
| <li><p>When prompted, enter the following values:</p> |
| <ul> |
| <li>groupId: <tt>com.mycompany</tt></li> |
| <li>artifactId: <tt>mavenPlatformApp</tt></li> |
| <li>version: <press Enter to accept the default></li> |
| <li>package: <press Enter to accept the default></li> |
| <li>netbeansVersion: <tt>RELEASE71-BETA</tt></li> |
| </ul> |
| |
| <!-- <pre class="examplecode">mvn -DarchetypeVersion=1.10 |
| -Darchetype.interactive=false |
| -DgroupId=com.mycompany |
| -DarchetypeArtifactId=<strong>netbeans-platform-app-archetype</strong> |
| -DarchetypeRepository=http://repository.codehaus.org/ |
| -Dversion=1.0-SNAPSHOT |
| -DarchetypeGroupId=org.codehaus.mojo.archetypes |
| -Dpackage=com.mycompany.mavenplatformapp |
| -DartifactId=mavenPlatformApp |
| --batch-mode org.apache.maven.plugins:maven-archetype-plugin:2.1:generate</pre> |
| |
| <p>Here is the same command on one line:</p> |
| |
| <pre class="examplecode">mvn -DarchetypeVersion=1.10 -Darchetype.interactive=false -DgroupId=com.mycompany -DarchetypeArtifactId=<strong>netbeans-platform-app-archetype</strong> -DarchetypeRepository=http://repository.codehaus.org/ -Dversion=1.0-SNAPSHOT -DarchetypeGroupId=org.codehaus.mojo.archetypes -Dpackage=com.mycompany.mavenplatformapp -DartifactId=mavenPlatformApp --batch-mode org.apache.maven.plugins:maven-archetype-plugin:2.1:generate</pre> |
| --> </li> |
| </ol> |
| <p>You can see that the command specifies the archetype that Maven will use to create |
| the NetBeans Platform application (<a href="http://search.maven.org/#search|ga|1|netbeans-platform-app-archetype"><tt>netbeans-platform-app-archetype</tt></a>). |
| The command also specifies the location of the repository for the archetype (<tt>http://repository.codehaus.org/</tt>) |
| and the version (<tt>1.10</tt>) and GroupId (<tt>org.codehaus.mojo.archetypes</tt>) of the archetype.</p> |
| |
| <p>When you run the command, Maven will automatically retrieve the archetype and create the project according to |
| the details specified in the command (artifact id, version, package).</p> |
| |
| <p class="notes"><strong>Note.</strong> When you use NetBeans IDE to create a |
| Mavenized NetBeans Platform application, |
| the IDE executes a Maven goal with the same parameters.</p> |
| |
| <p class="tips">For more information about the plugin that is used to generate the artifacts, |
| see the documentation on the <a href="http://mojo.codehaus.org/nbm-maven-plugin/">nbm-maven-plugin</a>.</p> |
| |
| <p>When you run the command, you will see output similar to the following in the terminal window.</p> |
| <pre class="examplecode">[INFO] Parameter: groupId, Value: com.mycompany |
| [INFO] Parameter: artifactId, Value: mavenPlatformApp |
| [INFO] Parameter: version, Value: 1.0-SNAPSHOT |
| [INFO] Parameter: package, Value: com.mycompany |
| [INFO] Parameter: packageInPathFormat, Value: com/mycompany |
| [INFO] Parameter: netbeansVersion, Value: RELEASE71-BETA |
| [INFO] Parameter: package, Value: com.mycompany |
| [INFO] Parameter: version, Value: 1.0-SNAPSHOT |
| [INFO] Parameter: groupId, Value: com.mycompany |
| [INFO] Parameter: artifactId, Value: mavenPlatformApp |
| [INFO] project created from Archetype in dir: /home/geertjan/NetBeansProjects/api-samples/versions/7.1/tutorials/mavenPlatformApp |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] BUILD SUCCESSFUL |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] Total time: 2 minutes |
| [INFO] Finished at: Thu Dec 22 22:16:07 CET 2011 |
| [INFO] Final Memory: 14M/147M</pre> |
| <p>If you look in the root directory <tt>mavenPlatformApp</tt> that was created, |
| you can see that the new project contains a <tt>pom.xml</tt> file and a directory for each of the default sub-modules of the archetype: application and branding. <br/> |
| <img src="../../images/tutorials/maven-commandline/maven-platform-archetype-default.png" alt="Screenshot of structure of mavenPlatformApp" title="Screenshot of structure of mavenPlatformApp" class="margin-around b-all" /> |
| </p> |
| |
| <p>If you open <tt>pom.xml</tt> for mavenPlatformApp in an editor, you will see that the |
| POM specifies all the details required for building the application:</p> |
| |
| <pre class="examplecode"><?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> |
| |
| <groupId>com.mycompany</groupId> |
| <artifactId>mavenPlatformApp-parent</artifactId> |
| <version>1.0-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| |
| <name>mavenPlatformApp-parent</name> |
| |
| <repositories> |
| <!-- |
| Repository hosting NetBeans modules, especially APIs. |
| Versions are based on IDE releases, e.g.: RELEASE691 |
| To create your own repository, use: nbm:populate-repository |
| --> |
| <repository> |
| <id>netbeans</id> |
| <name>NetBeans</name> |
| <url>http://bits.netbeans.org/maven2/</url> |
| </repository> |
| </repositories> |
| |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>4.8.2</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>nbm-maven-plugin</artifactId> |
| <version>3.6</version> |
| <extensions>true</extensions> |
| <configuration> |
| <brandingToken>${brandingToken}</brandingToken> |
| <cluster>${brandingToken}</cluster> |
| </configuration> |
| </plugin> |
| <plugin> |
| <!-- NetBeans 6.9+ requires JDK 6 --> |
| <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> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>2.3.1</version> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| |
| <modules> |
| <module>branding</module> |
| <module>application</module> |
| </modules> |
| |
| <properties> |
| <netbeans.version>RELEASE71-BETA</netbeans.version> |
| <brandingToken>mavenplatformapp</brandingToken> |
| </properties> |
| </project></pre> |
| |
| <p class="tips">If you look at the <tt><properties></tt> element, you can see that the version of the NetBeans platform is |
| specified as <tt>RELEASE71-BETA</tt>. In the POM of your sub-modules, you can specify <tt>${netbeans.version}</tt> as the version |
| and the module will use the version specified in the parent POM project. |
| The enables you to easily update the NetBeans Platform version for all the project's sub-modules.</p> |
| |
| <!-- =================================================================== --> |
| <!-- ++++++++++++++++ Running the Application ++++++++++++++++++++++++++ --> |
| |
| |
| <h2><a name="02"></a>Installing and Running the NetBeans Platform Application</h2> |
| <p>In this exercise you will run the Maven <tt>install</tt> goal from the command line to build the application and copy |
| the artifacts in your local repository. |
| The NetBeans Platform application is a multi-module application. |
| You will use the reactor mechanism in Maven to build the application project and the project's dependencies. |
| After you build the application you will execute the <tt>run-platform</tt> goal to launch the application.</p> |
| |
| <ol> |
| <li>Navigate to the <tt>mavenPlatformApp</tt> directory and type the following command to build the project. |
| <pre class="examplecode">mvn install</pre> |
| <p class="tips">The above command will take some time to complete. When the command |
| completes, you will see the following:</p> |
| |
| <pre class="examplecode">[INFO] ------------------------------------------------------------------------ |
| [INFO] Reactor Summary: |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] mavenPlatformApp-parent ............................... SUCCESS [59.580s] |
| [INFO] mavenPlatformApp-branding ............................. SUCCESS [15.814s] |
| [INFO] mavenPlatformApp-app .................................. SUCCESS [1:51.371s] |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] BUILD SUCCESSFUL |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] Total time: 3 minutes 9 seconds |
| [INFO] Finished at: Mon Dec 19 19:32:34 CET 2011 |
| [INFO] Final Memory: 28M/296M</pre> |
| |
| </li> |
| <li>After the command above completes, navigate to the <tt>application</tt> directory and type the following command to launch the application. |
| <pre class="examplecode">mvn nbm:run-platform</pre> |
| </li> |
| </ol> |
| <p>When you run the <tt>nbm-maven-plugin</tt> with the <tt>run-platform</tt> goal, Maven will |
| launch your NetBeans Platform application:</p> |
| <p> |
| <img src="../../images/tutorials/maven-commandline/maven-command-platform-default-1.png" alt="Screenshot of default application" title="Screenshot of default application" class="margin-around b-all" /> |
| </p> |
| <p>Browse through the menus to see what your new application consists of. Open |
| some windows, undock some of them, and you will have something that looks like this:</p> |
| <p> |
| <img src="../../images/tutorials/maven-commandline/maven-command-platform-default-2.png" alt="Screenshot of default application" title="Screenshot of default application" class="margin-around b-all" /> |
| </p> |
| |
| <p>You have now successfully created and launched your NetBeans Platform application. |
| The default branding elements are located in the <tt>branding</tt> sub-module that was generated according to the archetype. |
| The NetBeans IDE provides tools and wizards that can help you to modify the branding elements.</p> |
| |
| <p>In the next section you will create a new module for the application.</p> |
| |
| <!-- =================================================================== --> |
| <!-- ++++++++++++++++++ Creating a new Module ++++++++++++++++++++++++++ --> |
| |
| <h2><a name="03"></a>Creating a NetBeans Module from an Archetype</h2> |
| |
| <p>You will now create a new module that is named mavenPlatformModuleA in the <tt>mavenPlatformApp</tt> directory. |
| In the same way that you created the NetBeans Platform application, |
| you will run a Maven command from the command line and use the module archetype <tt>nbm-archetype</tt>.</p> |
| |
| <p>After you create the module, you will use a text editor to create a simple class in the module. |
| You will then build the module to install the module in the local repository.</p> |
| <ol> |
| <li>Navigate to the <tt>mavenPlatformApp</tt> directory in the command line |
| terminal and run the following command: |
| |
| <pre class="examplecode">mvn |
| -DarchetypeGroupId=org.codehaus.mojo.archetypes |
| -DarchetypeArtifactId=nbm-archetype |
| -DarchetypeVersion=1.9 |
| archetype:generate</pre> |
| |
| <p class="tips">Here it is on a single line:</p> |
| |
| <pre class="examplecode">mvn -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=nbm-archetype -DarchetypeVersion=1.9 archetype:generate</pre> |
| |
| </li> |
| <li><p>When prompted, enter the following values:</p> |
| <ul> |
| <li>groupId: <tt>com.mycompany</tt></li> |
| <li>artifactId: <tt>mavenPlatformModuleA</tt></li> |
| <li>version: <press Enter to accept the default></li> |
| <li>package: <tt>com.mycompany.mavenplatformmodulea</tt></li> |
| <li>netbeansVersion: <tt>RELEASE71-BETA</tt></li> |
| </ul> |
| |
| <p>You can see that the command specifies <tt>nbm-archetype</tt>. |
| The archetype will be retrieved from the remote repository.</p> |
| <p>When you run the command, you will see output similar to the following in the |
| terminal window:</p> |
| <pre class="examplecode">[INFO] Parameter: groupId, Value: com.mycompany |
| [INFO] Parameter: artifactId, Value: mavenPlatformModuleA |
| [INFO] Parameter: version, Value: 1.0-SNAPSHOT |
| [INFO] Parameter: package, Value: com.mycompany.mavenplatformmodulea |
| [INFO] Parameter: packageInPathFormat, Value: com/mycompany/mavenplatformmodulea |
| [INFO] Parameter: netbeansVersion, Value: RELEASE71-BETA |
| [INFO] Parameter: package, Value: com.mycompany.mavenplatformmodulea |
| [INFO] Parameter: version, Value: 1.0-SNAPSHOT |
| [INFO] Parameter: groupId, Value: com.mycompany |
| [INFO] Parameter: artifactId, Value: mavenPlatformModuleA |
| [INFO] project created from Archetype in dir: /home/geertjan/NetBeansProjects/api-samples/versions/7.1/tutorials/mavenPlatformApp/mavenPlatformModuleA |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] BUILD SUCCESSFUL |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] Total time: 1 minute 30 seconds |
| [INFO] Finished at: Thu Dec 22 22:32:17 CET 2011 |
| [INFO] Final Memory: 21M/257M</pre> |
| <p>If you look at the contents of the <tt>mavenPlatformApp</tt> directory, you will see that the directory |
| contains a new directory that is named <tt>mavenPlatformModuleA</tt>. |
| The new directory contains a <tt>src</tt> directory and <tt>pom.xml</tt>. |
| The file <tt>bundle.properties</tt> is generated in the |
| <tt>resources/com/mycompany/mavenplatformmodulea</tt> directory.</p> |
| <img src="../../images/tutorials/maven-commandline/maven-command-modulea.png" alt="Screenshot of structure of mavenplatformmodulea" title="Screenshot of structure of mavenplatformmodulea" class="margin-around b-all" /> |
| <p>In the next step you will create a class in the |
| <tt>java/com/mycompany/mavenplatformmodulea</tt> directory.</p> |
| </li> |
| <li>Use a text editor to create the following class <tt>HelloWorldActionListener.java</tt> |
| in the <tt>java/com/mycompany/mavenplatformmodulea</tt> directory. |
| <pre class="examplecode">package com.mycompany.mavenplatformmodulea; |
| |
| import java.awt.event.ActionEvent; |
| import java.awt.event.ActionListener; |
| import org.openide.DialogDisplayer; |
| import org.openide.NotifyDescriptor; |
| import org.openide.awt.ActionID; |
| import org.openide.awt.ActionReference; |
| import org.openide.awt.ActionReferences; |
| import org.openide.awt.ActionRegistration; |
| import org.openide.util.NbBundle.Messages; |
| |
| @ActionID(category = "Window", |
| id = "com.mycompany.mavenproject2.HelloWorldActionListener") |
| @ActionRegistration(displayName = "#CTL_HelloWorldActionListener") |
| @ActionReference(path = "Menu/Window", position = 0) |
| @Messages("CTL_HelloWorldActionListener=Hello World") |
| public final class HelloWorldActionListener implements ActionListener { |
| |
| public void actionPerformed(ActionEvent e) { |
| NotifyDescriptor d = new NotifyDescriptor.Message("hello..."); |
| DialogDisplayer.getDefault().notify(d); |
| } |
| |
| }</pre> |
| </li> |
| <li>Edit the module's <tt>pom.xml</tt> to make the following changes (in bold) to add a dependency on |
| the modules you are referring to in the code above. |
| <pre class="examplecode"><dependencies> |
| <dependency> |
| <groupId>org.netbeans.api</groupId> |
| <artifactId>org-netbeans-api-annotations-common</artifactId> |
| <version>RELEASE71-BETA</version> |
| </dependency> |
| <b><dependency> |
| <groupId>org.netbeans.api</groupId> |
| <artifactId>org-openide-util</artifactId> |
| <version>RELEASE71-BETA</version> |
| </dependency> |
| <dependency> |
| <groupId>org.netbeans.api</groupId> |
| <artifactId>org-openide-awt</artifactId> |
| <version>RELEASE71-BETA</version> |
| </dependency> |
| <dependency> |
| <groupId>org.netbeans.api</groupId> |
| <artifactId>org-openide-dialogs</artifactId> |
| <version>RELEASE71-BETA</version> |
| </dependency></b> |
| </dependencies></pre> |
| |
| </li> |
| <li>on the command line, navigate to the <tt>mavenPlatformModuleA</tt> directory and |
| run the following command to build and install the module in the local repository. |
| <pre class="examplecode">mvn install</pre> |
| <p>When you run the <tt>install</tt> command, Maven builds the module and copies the JAR and NBM artifacts to the |
| local repository.</p> |
| </li> |
| </ol> |
| <p>Now that the artifact is in the local repository, you can add the artifact |
| as a dependency of the NetBeans Platform application, as shown in |
| the next section.</p> |
| |
| |
| <!-- =================================================================== --> |
| <!-- ++++++++++++++ Adding the Module as a Dependency ++++++++++++++++++ --> |
| |
| <h2><a name="04"></a>Adding the New NetBeans Module as a Dependency</h2> |
| <p>In this section you will add the module as a dependency of the NetBeans Platform |
| application by declaring the dependency in the POM of the application project.</p> |
| <ol> |
| <li>Open the <tt>pom.xml</tt> file in the <tt>application</tt> directory in a text editor.</li> |
| <li>Declare the mavenPlatformModuleA module as |
| a dependency of the application by making the following changes (in bold) to the POM. |
| <pre class="examplecode"> |
| <dependencies> |
| <dependency> |
| <groupId>org.netbeans.cluster</groupId> |
| <artifactId>platform</artifactId> |
| <version>${netbeans.version}</version> |
| <type>pom</type> |
| </dependency> |
| <dependency> |
| <groupId>com.mycompany</groupId> |
| <artifactId>branding</artifactId> |
| <version>1.0-SNAPSHOT</version> |
| </dependency> |
| <strong><dependency> |
| <groupId>com.mycompany</groupId> |
| <artifactId>mavenPlatformModuleA</artifactId> |
| <version>1.0-SNAPSHOT</version> |
| </dependency></strong> |
| </dependencies></pre> |
| </li> |
| </ol> |
| |
| <!-- =================================================================== --> |
| <!-- +++++++++++++++ Building the Application ++++++++++++++++++++++++++ --> |
| |
| <h2><a name="05"></a>Building the NetBeans Platform Application With the New NetBeans Module</h2> |
| <p>You are now almost ready to launch the NetBeans Platform application with the new module installed. |
| You first need to make sure that the new module is specified as a module of the parent POM project. |
| You can then repeat the steps to build and launch the application.</p> |
| <ol> |
| <li>Open the <tt>pom.xml</tt> in the <tt>mavenPlatformApp</tt> directory in a text editor.</li> |
| <li>Confirm that the new module is specified in the list of modules that are included with the application. |
| <pre class="examplecode"> |
| <modules> |
| <module>branding</module> |
| <module>application</module> |
| <strong><module>mavenPlatformModuleA</module></strong> |
| </modules></pre> |
| </li> |
| <li>Navigate to the <tt>mavenPlatformApp</tt> directory in the command line terminal and |
| type the following command to build the project. |
| <pre class="examplecode">mvn install</pre> |
| <p>When you run the command, you can see that the new module is included |
| in the list of modules.</p> |
| <pre class="examplecode">[INFO] ------------------------------------------------------------------------ |
| [INFO] Reactor Summary: |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] mavenPlatformApp-parent ............................... SUCCESS [0.961s] |
| [INFO] mavenPlatformApp-branding ............................. SUCCESS [1.443s] |
| [INFO] mavenPlatformModuleA .................................. SUCCESS [0.464s] |
| [INFO] mavenPlatformApp-app .................................. SUCCESS [3.744s] |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] BUILD SUCCESSFUL |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] Total time: 7 seconds |
| [INFO] Finished at: Thu Dec 22 22:37:51 CET 2011 |
| [INFO] Final Memory: 28M/310M</pre> |
| </li> |
| <li>Navigate to the <tt>application</tt> directory and type the following command to launch the application. |
| <pre class="examplecode">mvn nbm:run-platform</pre> |
| <p>When you run the command, Maven will launch the application with the new module.</p> |
| </li> |
| </ol> |
| |
| <p>You have now successfully added a new module to the application and launched the application. |
| To confirm that the module was loaded when the application launched, |
| choose Window > Hello World from the main menu of the application to display the |
| greeting:<br/> |
| <img src="../../images/tutorials/maven-commandline/maven-command-hello-dialog.png" alt="Screenshot of Message Dialog" title="Screenshot of Message Dialog" class="margin-around b-all" /> |
| </p> |
| |
| <!-- =================================================================== --> |
| |
| <p>This tutorial demonstrated how creating a NetBeans Platform application using Maven |
| is not very different from creating an application using Ant. |
| The major difference is understanding how the Maven POM controls how the application is assembled. |
| For more examples on how to build NetBeans Platform applications and modules, |
| see the tutorials listed in the <a href="https://netbeans.org/kb/trails/platform.html">NetBeans Platform Learning Trail</a>.</p> |
| |
| <!-- ======================================================================================== --> |
| |
| <div class="feedback-box"><a name="feedback"></a> |
| <a href="https://netbeans.org/about/contact_form.html?to=3&subject=Feedback:%20NetBeans%20Platform%20Application%20from%20Maven%20Archetypes%207.1"> |
| Send Us Your Feedback</a></div> |
| |
| <p> </p> |
| <!-- ======================================================================================== --> |
| <h2><a name="nextsteps"></a>See Also</h2> |
| |
| <p>This document described |
| how to use the Maven build framework to create a new NetBeans Platform application without using NetBeans IDE. |
| For more information about creating and developing applications, see the following resources.</p> |
| <ul> |
| <li><a href="https://platform.netbeans.org/tutorials/nbm-maven-quickstart.html">NetBeans Platform Quick Start Using Maven</a></li> |
| <li><a href="https://netbeans.org/kb/trails/platform.html">NetBeans Platform Learning Trail</a></li> |
| <li><a href="http://bits.netbeans.org/dev/javadoc/">NetBeans API Javadoc</a></li> |
| </ul> |
| |
| <p>If you have any questions about the NetBeans Platform, feel free |
| to write to the mailing list, dev@platform.netbeans.org, or view the |
| <a href="https://netbeans.org/projects/platform/lists/dev/archive">NetBeans Platform mailing list archive</a>.</p> |
| |
| |
| <!-- ======================================================================================== --> |
| |
| |
| </body> |
| |
| </html> |