Maven - NetBeans



NetBeans 6.7 及更高版本内置支持 Maven。对于早期版本,可以在插件管理器中找到 Maven 插件。本例中我们使用 NetBeans 6.9。

NetBeans 的一些特性如下:

  • 您可以从 NetBeans 运行 Maven 目标。

  • 您可以使用 NetBeans 自带的控制台查看 Maven 命令的输出。

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

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

  • NetBeans 根据 Maven 的 pom.xml 自动进行依赖管理。

  • NetBeans 从其工作区解析 Maven 依赖项,无需安装到本地 Maven 仓库(要求依赖项目位于同一工作区)。

  • NetBeans 自动从远程 Maven 仓库下载所需的依赖项和源代码。

  • NetBeans 提供了用于创建新的 Maven 项目和 pom.xml 的向导。

  • NetBeans 提供了一个 Maven 仓库浏览器,使您可以查看本地仓库和已注册的外部 Maven 仓库。

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

在 NetBeans 中打开 Maven 项目

  • 打开 NetBeans。

  • 选择 **文件菜单 > 打开项目** 选项。

  • 选择项目位置,该位置使用 Maven 创建了一个项目。我们创建了一个 Java 项目 consumerBanking。请转到“创建 Java 项目”章节,了解如何使用 Maven 创建项目。

Open a Maven project in NetBeans.

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

Maven project in NetBeans.

在 NetBeans 中构建 Maven 项目

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

  • 右键单击 consumerBanking 项目以打开上下文菜单。
  • 选择“清理并构建”选项。
Build a Maven project in NetBeans.

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
------------------------------------------------------------------------

在 NetBeans 中运行应用程序

现在,右键单击 App.java。选择 **运行文件** 选项。您将在 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
------------------------------------------------------------------------
广告