Maven 简明教程

Maven - NetBeans

NetBeans 6.7 及更高版本内置支持 Maven。在以前版本的案例中,Maven 插件可在插件管理器中找到。我们在本示例中使用的是 NetBeans 6.9。

以下是 NetBeans 的部分功能 −

  1. 您可以在 NetBeans 中运行 Maven 目标。

  2. 您可以使用其控制台在 NetBeans 内查看 Maven 命令的输出。

  3. 您可以使用 IDE 更新 Maven 依赖项。

  4. 您可以从 NetBeans 内部启动 Maven 构建。

  5. NetBeans 根据 Maven 的 pom.xml 自动管理依赖项。

  6. NetBeans 从其工作空间解析 Maven 依赖项,而无需安装到本地 Maven 存储库(需要依赖项项目位于同一个工作空间)。

  7. NetBeans 自动下载远程 Maven 存储库中所需的依赖项和源。

  8. NetBeans 为新建 Maven 项目和 pom.xml 提供向导。

  9. NetBeans 提供 Maven 存储库浏览器,让您能够查看本地存储库和注册的外部 Maven 存储库。

以下示例将帮助您利用集成 NetBeans 和 Maven 的优势。

Open a maven project in NetBeans

  1. Open NetBeans.

  2. 选择 File Menu > Open Project 选项。

  3. 选择项目位置,使用 Maven 创建项目的位置。我们创建了一个 Java 项目 consumerBanking。转到“创建 Java 项目”章节,查看如何使用 Maven 创建项目。

nb open project

现在,您可以在 NetBeans 中看到以下 Maven 项目。查看 consumerBanking 项目库和测试库。您会看到 NetBeans 已将 Maven 依赖项添加到其构建路径中。

nb project structure

Build a maven project in NetBeans

现在是使用 NetBeans 的 Maven 功能构建此项目的时候了。

  1. 右键单击 consumerBanking 项目以打开上下文菜单。

  2. 选择“清理和构建”作为选项。

nb build options

Maven 将开始构建项目。您可以在 NetBeans 控制台中看到输出,如下所示:

NetBeans: Executing 'mvn.bat -Dnetbeans.execution = true clean install'
NetBeans:      JAVA_HOME = C:\Program Files\Java\jdk1.6.0_21
Scanning for projects...
------------------------------------------------------------------------
Building consumerBanking
   task-segment: [clean, install]
------------------------------------------------------------------------
[clean:clean]
[resources:resources]
[WARNING] Using platform encoding (Cp1252 actually)
to copy filtered resources, i.e. build is platform dependent!
skip non existing resourceDirectory C:\MVN\consumerBanking\src\main\resources
[compiler:compile]
Compiling 2 source files to C:\MVN\consumerBanking\target\classes
[resources:testResources]
[WARNING] Using platform encoding (Cp1252 actually)
to copy filtered resources, i.e. build is platform dependent!
skip non existing resourceDirectory C:\MVN\consumerBanking\src\test\resources
[compiler:testCompile]
Compiling 1 source file to C:\MVN\consumerBanking\target\test-classes
[surefire:test]
Surefire report directory: C:\MVN\consumerBanking\target\surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.companyname.bank.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.023 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[jar:jar]
Building jar: C:\MVN\consumerBanking\target\consumerBanking-1.0-SNAPSHOT.jar
[install:install]
Installing C:\MVN\consumerBanking\target\consumerBanking-1.0-SNAPSHOT.jar
to C:\Users\GB3824\.m2\repository\com\companyname\bank\consumerBanking\
1.0-SNAPSHOT\consumerBanking-1.0-SNAPSHOT.jar
------------------------------------------------------------------------
BUILD SUCCESSFUL
------------------------------------------------------------------------
Total time: 9 seconds
Finished at: Thu Jul 19 12:57:28 IST 2012
Final Memory: 16M/85M
------------------------------------------------------------------------

Run Application in NetBeans

现在,右键单击 App.java。选择 Run File 作为选项。您将在 NetBeans 控制台中看到结果。

NetBeans: Executing 'mvn.bat -Dexec.classpathScope = runtime
-Dexec.args = -classpath %classpath com.companyname.bank.App
-Dexec.executable = C:\Program Files\Java\jdk1.6.0_21\bin\java.exe
-Dnetbeans.execution = true process-classes
org.codehaus.mojo:exec-maven-plugin:1.1.1:exec'
NetBeans:      JAVA_HOME = C:\Program Files\Java\jdk1.6.0_21
Scanning for projects...
------------------------------------------------------------------------
Building consumerBanking
   task-segment: [process-classes,
   org.codehaus.mojo:exec-maven-plugin:1.1.1:exec]
------------------------------------------------------------------------
[resources:resources]
[WARNING] Using platform encoding (Cp1252 actually)
to copy filtered resources, i.e. build is platform dependent!
skip non existing resourceDirectory C:\MVN\consumerBanking\src\main\resources
[compiler:compile]
Nothing to compile - all classes are up to date
[exec:exec]
Hello World!
------------------------------------------------------------------------
BUILD SUCCESSFUL
------------------------------------------------------------------------
Total time: 1 second
Finished at: Thu Jul 19 14:18:13 IST 2012
Final Memory: 7M/64M
------------------------------------------------------------------------