| <!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>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, 2011, 2012, 2013, 2014 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 7 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> |
| <div class="indent"> |
| |
| <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.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T15:51:42+02:00) |
| Maven home: C:\apache-maven-3.2.2 |
| Java version: 1.8.0-ea, vendor: Oracle Corporation |
| Java home: C:\Program Files\Java\jdk1.8.0\jre |
| Default locale: en_US, platform encoding: Cp1252 |
| OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"</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.19 |
| -DgroupId=com.mycompany |
| -DartifactId=mavenPlatformApp |
| -Dversion=1.0-SNAPSHOT |
| -Dpackage=com.mycompany |
| -DnetbeansVersion=RELEASE80 |
| archetype:generate</pre> |
| |
| <p class="tips">Here it is on a single line, so that you can easily copy/paste it:</p> |
| |
| <pre class="examplecode">mvn -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=netbeans-platform-app-archetype -DarchetypeVersion=1.19 -DgroupId=com.mycompany -DartifactId=mavenPlatformApp -Dversion=1.0-SNAPSHOT -Dpackage=com.mycompany -DnetbeansVersion=RELEASE80 archetype:generate</pre> |
| |
| </li> |
| <li><p>When prompted, enter Y, for "Yes".</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> |
| |
| <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> |
| |
| </div> |
| |
| <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.19</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: package, Value: com.mycompany |
| [INFO] Parameter: version, Value: 1.0-SNAPSHOT |
| [INFO] Parameter: netbeansVersion, Value: RELEASE80 |
| [INFO] Parameter: groupId, Value: com.mycompany |
| [INFO] Parameter: artifactId, Value: mavenPlatformApp |
| [INFO] project created from Archetype in dir: C:\apps\mavenPlatformApp |
| [INFO] ------------------------------------------------------------------- |
| [INFO] BUILD SUCCESS |
| [INFO] ------------------------------------------------------------------- |
| [INFO] Total time: 12.396 s |
| [INFO] Finished at: 2014-07-07T08:44:23+02:00 |
| [INFO] Final Memory: 16M/133M</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/> |
| </p><p><img src="../images/tutorials/maven-commandline/80/p1.png" alt="Screenshot of structure of mavenPlatformApp" title="Screenshot of structure of mavenPlatformApp" /> |
| </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/nexus/content/groups/netbeans/</url> |
| </repository> |
| </repositories> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>nbm-maven-plugin</artifactId> |
| <version>3.13</version> |
| <extensions>true</extensions> |
| <configuration> |
| <brandingToken>${brandingToken}</brandingToken> |
| <cluster>${brandingToken}</cluster> |
| </configuration> |
| </plugin> |
| <plugin> |
| <!-- NetBeans 6.9+ requires JDK 6, starting NetBeans 7.4 source 1.7 is required --> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>2.5.1</version> |
| <configuration> |
| <source>1.7</source> |
| <target>1.7</target> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>2.4</version> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| |
| <modules> |
| <module>branding</module> |
| <module>application</module> |
| </modules> |
| |
| <properties> |
| <netbeans.version>RELEASE80</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>RELEASE72</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> |
| |
| <div class="indent"> |
| |
| <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 [0.533s] |
| [INFO] mavenPlatformApp-branding ......................... SUCCESS [8.684s] |
| [INFO] mavenPlatformApp-app .............................. SUCCESS [33.900s] |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] BUILD SUCCESS |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] Total time: 1:31.177s |
| [INFO] Finished at: Sat Sep 15 23:36:18 CEST 2012 |
| [INFO] Final Memory: 18M/59M |
| [INFO] ------------------------------------------------------------------------</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> |
| |
| </div> |
| |
| <p>When you run the <tt>nbm-maven-plugin</tt> with the <tt>run-platform</tt> goal, as done above, Maven will |
| launch your NetBeans Platform application:</p> |
| <p> |
| <img src="../images/tutorials/maven-commandline/72/p2.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/72/p3.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> |
| |
| <div class="indent"> |
| |
| <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.11 |
| 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.11 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>RELEASE72</tt></li> |
| </ul> |
| |
| <p>You can see that the command specifies <tt><a href="http://search.maven.org/#search%7Cga%7C1%7Cnbm-archetype">nbm-archetype</a></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: package, Value: com.mycompany.mavenplatformmodulea |
| [INFO] Parameter: version, Value: 1.0-SNAPSHOT |
| [INFO] Parameter: netbeansVersion, Value: RELEASE72 |
| [INFO] Parameter: groupId, Value: com.mycompany |
| [INFO] Parameter: artifactId, Value: mavenPlatformModuleA |
| [INFO] project created from Archetype in dir: C:\Users\Geertjan\demo\mavenPlatformApp\mavenPlatformModuleA |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] Reactor Summary: |
| [INFO] |
| [INFO] mavenPlatformApp-parent ........................... SUCCESS [58.613s] |
| [INFO] mavenPlatformApp-branding ......................... SKIPPED |
| [INFO] mavenPlatformApp-app .............................. SKIPPED |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] BUILD SUCCESS |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] Total time: 1:00.058s |
| [INFO] Finished at: Sat Sep 15 23:52:13 CEST 2012 |
| [INFO] Final Memory: 19M/131M |
| [INFO] ------------------------------------------------------------------------</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> |
| </p><p><img src="../images/tutorials/maven-commandline/72/p4.png" alt="Screenshot of structure of mavenplatformmodulea" title="Screenshot of structure of mavenplatformmodulea" /> |
| <p>In the next step you will create a class in the |
| <tt>java/com/mycompany/mavenplatformmodulea</tt> directory.</p> |
| </li> |
| <li>Edit the new 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>RELEASE72</version> |
| </dependency> |
| <b><dependency> |
| <groupId>org.netbeans.api</groupId> |
| <artifactId>org-openide-util</artifactId> |
| <version>RELEASE72</version> |
| </dependency> |
| <dependency> |
| <groupId>org.netbeans.api</groupId> |
| <artifactId>org-openide-awt</artifactId> |
| <version>RELEASE72</version> |
| </dependency> |
| <dependency> |
| <groupId>org.netbeans.api</groupId> |
| <artifactId>org-openide-dialogs</artifactId> |
| <version>RELEASE72</version> |
| </dependency></b> |
| </dependencies></pre> |
| |
| </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.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>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> |
| |
| </div> |
| |
| <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> |
| |
| <div class="indent"> |
| |
| <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>${project.groupId}</groupId> |
| <artifactId>mavenPlatformApp-branding</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <b><dependency> |
| <groupId>com.mycompany</groupId> |
| <artifactId>mavenPlatformModuleA</artifactId> |
| <version>1.0-SNAPSHOT</version> |
| </dependency></b> |
| <!-- NbModuleSuite functional in RELEASE70 or later: --> |
| <dependency> |
| <groupId>org.netbeans.api</groupId> |
| <artifactId>org-netbeans-modules-nbjunit</artifactId> |
| <version>${netbeans.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <!-- To use Jelly Tools in your functional tests, add or replace with: |
| <dependency> |
| <groupId>org.netbeans.api</groupId> |
| <artifactId>org-netbeans-modules-jellytools-platform</artifactId> |
| <version>${netbeans.version}</version> |
| <scope>test</scope> |
| </dependency> |
| --> |
| </dependencies></pre> |
| </li> |
| </ol> |
| </div> |
| <!-- =================================================================== --> |
| <!-- +++++++++++++++ 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> |
| <div class="indent"> |
| <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.144s] |
| [INFO] mavenPlatformApp-branding ......................... SUCCESS [2.044s] |
| [INFO] mavenPlatformModuleA .............................. SUCCESS [0.491s] |
| [INFO] mavenPlatformApp-app .............................. SUCCESS [7.790s] |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] BUILD SUCCESS |
| [INFO] ------------------------------------------------------------------------ |
| [INFO] Total time: 11.724s |
| [INFO] Finished at: Sun Sep 16 00:00:00 CEST 2012 |
| [INFO] Final Memory: 16M/226M |
| [INFO] ------------------------------------------------------------------------</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> |
| </div> |
| <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/72/p5.png" alt="Screenshot of Message Dialog" title="Screenshot of Message Dialog" /> |
| <img src="../images/tutorials/maven-commandline/72/p6.png" alt="Screenshot of Message Dialog" title="Screenshot of Message Dialog" /> |
| </p> |
| |
| <!-- =================================================================== --> |
| |
| <p>This tutorial demonstrated how you can use the Maven command line to create NetBeans |
| Platform applications. |
| 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> |