NetBeans6.7更新版本已经内置对Maven支持。如遇以前的版本,Maven插件在插件管理器中可用。我们正在使用NetBeans在这个例子中使用6.9。
在NetBeans一些特点如下
-
您可以从NetBeans运行Maven目标。
-
您可以可以查看Maven命令的输出使用其自己的控制台在NetBeans里面。
-
你可以更新maven的依赖关系的IDE。
-
您可以启动Maven从内部的NetBeans版本。
-
NetBeans不依赖自动管理基于Maven的pom.xml。
-
NetBeans解决Maven的依赖关系从它的工作空间,而不需要安装到本地Maven仓库(需要依赖项目在同一个工作区)。
-
NetBeans自动下载需要的依赖和源从远程Maven仓库。
-
NetBeans提供向导,用于创建新的Maven项目及pom.xml
-
NetBeans提供一个Maven资源库浏览器,使您可以查看您的本地存储库和注册的外部Maven仓库。
下面的例子将帮助您充分利用NetBeans的集成和Maven的好处。
打开NetBeans Maven项目
-
打NetBeans.
-
选择 File Menu > Open Project 选项.
-
选择项目的位置,使用Maven在那里创建了一个项目。我们已经创建一个Java项目consumerBanking。看到Maven创建项目,看看如何创建使用Maven项目。

现在,你可以看到Maven项目在NetBeans。看看consumerBanking项目库和测试库。可以看到,NetBeans的增加了Maven的依赖关系到它的构建路径。

建立在NetBeans Maven项目
现在,它使用NetBeans的Maven来构建项目。
-
右键点击consumerBanking项目打开上下文菜单。
-
选择清理并生成可选项

Maven将开始建设该项目。你可以看到在NetBeans控制台输出
1NetBeans: Executing 'mvn.bat -Dnetbeans.execution=true clean install' 2NetBeans: JAVA_HOME=C:Program FilesJavajdk1.6.0_21 3Scanning for projects... 4------------------------------------------------------------------------ 5Building consumerBanking 6 task-segment: [clean, install] 7------------------------------------------------------------------------ 8[clean:clean] 9[resources:resources] 10[WARNING] Using platform encoding (Cp1252 actually) 11to copy filtered resources, i.e. build is platform dependent! 12skip non existing resourceDirectory C:MVNconsumerBankingsrcmain 13esources 14[compiler:compile] 15Compiling 2 source files to C:MVNconsumerBanking argetclasses 16[resources:testResources] 17[WARNING] Using platform encoding (Cp1252 actually) 18to copy filtered resources, i.e. build is platform dependent! 19skip non existing resourceDirectory C:MVNconsumerBankingsrc est 20esources 21[compiler:testCompile] 22Compiling 1 source file to C:MVNconsumerBanking arget est-classes 23[surefire:test] 24Surefire report directory: C:MVNconsumerBanking argetsurefire-reports 25 26------------------------------------------------------- 27 T E S T S 28------------------------------------------------------- 29Running com.companyname.bank.AppTest 30Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.023 sec 31 32Results : 33 34Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 35 36[jar:jar] 37Building jar: C:MVNconsumerBanking argetconsumerBanking-1.0-SNAPSHOT.jar 38[install:install] 39Installing C:MVNconsumerBanking argetconsumerBanking-1.0-SNAPSHOT.jar 40to C:UsersGB3824.m2 41epositorycomcompanynameankconsumerBanking 421.0-SNAPSHOTconsumerBanking-1.0-SNAPSHOT.jar 43------------------------------------------------------------------------ 44BUILD SUCCESSFUL 45------------------------------------------------------------------------ 46Total time: 9 seconds 47Finished at: Thu Jul 19 12:57:28 IST 2012 48Final Memory: 16M/85M 49------------------------------------------------------------------------
在NetBeans中运行的应用程序
现在,右键点击App.java。选择Run档选项。你会看到在NetBeans控制台的结果。
1NetBeans: Executing 'mvn.bat -Dexec.classpathScope=runtime 2-Dexec.args=-classpath %classpath com.companyname.bank.App 3-Dexec.executable=C:Program FilesJavajdk1.6.0_21injava.exe 4-Dnetbeans.execution=true process-classes 5org.codehaus.mojo:exec-maven-plugin:1.1.1:exec' 6NetBeans: JAVA_HOME=C:Program FilesJavajdk1.6.0_21 7Scanning for projects... 8------------------------------------------------------------------------ 9Building consumerBanking 10 task-segment: [process-classes, 11 org.codehaus.mojo:exec-maven-plugin:1.1.1:exec] 12------------------------------------------------------------------------ 13[resources:resources] 14[WARNING] Using platform encoding (Cp1252 actually) 15to copy filtered resources, i.e. build is platform dependent! 16skip non existing resourceDirectory C:MVNconsumerBankingsrcmain 17esources 18[compiler:compile] 19Nothing to compile - all classes are up to date 20[exec:exec] 21Hello World! 22------------------------------------------------------------------------ 23BUILD SUCCESSFUL 24------------------------------------------------------------------------ 25Total time: 1 second 26Finished at: Thu Jul 19 14:18:13 IST 2012 27Final Memory: 7M/64M 28------------------------------------------------------------------------