NetBeans 6.7及更新的版本已经内置了Maven。对于以前的版本,可在插件管理中心获取Maven插件。这样我们使用的是NetBeans 6.9。关于NetBeans的一些修改
- 可以通过 NetBeans 来运行 Maven 目标。
- 可以使用 NetBeans 自己的控制台查看 Maven 命令的输出。
- 可以更新 Maven 与 IDE 的依赖。
- 可以在 NetBeans 中启动 Maven 的结构。
- NetBeans 基于 Maven 的 pom.xml 来实现自动化管理依赖关系。
- NetBeans 可以通过自己的工作区解决Maven 的依赖问题,而无需安装到本地的Maven 库,尽管仍然需要依赖的项目在同一个工作区。
- NetBeans 可以从远程程序 Moven 库上下载需要的依赖和源码。
- NetBeans 提供了创建 Maven 项目,pom.xml 文件的方向。
- NetBeans 提供了关于 Maven 库的浏览器,使您可以查看本地存储库和注册表在外部的 Maven 库。
在 NetBeans 里打开一个 Maven 项目
-
打开 NetBeans
-
选择文件菜单 > 打开项目选项
-
选择项目目标的路径,即使用 Maven 创建一个项目时的存储路径。假设我们创建了一个项目:consumerBanking。通过 Maven 构建 Java 项目 查看如何使用 Maven 创建一个项目。
之前为停止,你已经可以在 NetBeans 里看到 Maven 项目了。看一下 consumerBanking 项目的库和测试库。你可以发现 NetBeans 已经将 Maven 所依赖的都添加到了它的构建路径里了。
在 NetBeans 里构建一个 Maven 项目
好的,我们来使用 NetBeans 的编译功能来构建这个 Maven 项目
- 右键点击consumerBanking 项目打开上下菜单。
- 选择“清理和构建”选项
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: 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
------------------------------------------------------------------------