【NetBeans】在Maven项目开发过程中对于NetBeans的合理运用以及自动化部署的方案详解

简介: 【NetBeans】在Maven项目开发过程中对于NetBeans的合理运用以及自动化部署的方案详解

NetBeans

Maven已内置到NetBeans 6.7及更高版本中。对于以前的版本,可以在插件管理中心中获得Maven插件。在本例中,我们使用NetBeans 6.9。NetBeans的一些功能如下:

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

可以通过NetBeans运行Maven目标。
可以使用NetBeans自己的控制台来查看Maven命令的输出。
可以更新Maven和IDE之间的依赖关系。
Maven的构建可以在NetBeans中启动。
NetBeans基于Maven的pom.xml实现依赖关系的自动管理。
NetBeans可以通过自己的工作区解决Maven依赖问题,而无需安装到本地Maven存储库,尽管需要依赖的项目位于同一工作区。
NetBeans可以自动从远程Moven库下载所需的依赖项和源代码。
NetBeans提供了一个创建Maven项目pom.xml文件的向导。
NetBeans为Maven存储库提供了一个浏览器,使能够查看本地存储库和外部注册的Maven存储。

              <configuration>
                          <tasks>
                             <echo>Using env.test.properties</echo>
                             <copy file="src/main/resources/env.test.properties" tofile="${project.build.outputDirectory}/env.properties" overwrite="true"/>
                          </tasks>
                          </configuration>
                       </execution>
                    </executions>
                 </plugin>
              </plugins>

构建配置文件是一系列配置项值,可用于设置或覆盖Maven构建默认值。
使用构建配置文件,可以为不同的环境(如生产和开发环境)自定义构建模式。
配置文件是使用activeProfiles或profiles元素在pom.xml文件中指定的,可以通过各种方式触发。配置文件在构建期间修改POM,用于为参数设置不同的目标环境(例如,开发、测试和生产环境中数据库服务器的地址)。

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

Maven有以下三个标准生命周期:
清洁:项目清洁
默认(或生成):处理项目部署
站点:处理项目站点文档创建
每个生命周期包含一系列阶段。这些阶段相当于Maven提供的统一接口,这些阶段的实现由Maven插件完成。
当我们输入mvn命令(如mvn clean)时,clean对应于clean生命周期中的clean阶段。然而,clean的具体操作由maven clean插件实现。
因此,Maven生命周期每个阶段的具体实现是由Maven插件实现的。
Maven实际上是一个依赖插件执行的框架,每个任务实际上都是由插件完成的。Maven插件通常用于:

  • 创建jar文件
  • 创建战争文件
  • 编译代码文件
  • 代码单元测试
  • 创建项目文档
  • 创建项目报告
<code>mvn [plugin-name]:[goal-name]</code>
<code>mvn compiler:compile</code>

插件是使用plugins元素在pom.xml中定义的。
每个插件可以有多个目标。
可以定义阶段,插件将使用其阶段元素开始处理。我们使用了清洁阶段。
可以通过绑定到插件的目标来配置要执行的任务。我们已经将echo任务绑定到maven antrun插件的运行目标。
就这样。Maven将处理剩下的问题。它将下载本地存储库中不可用的插件并开始处理。

自动化部署

执行多项操作:
检查是否存在本地未提交的修改
确保不依赖快照
更改发布应用程序的版本信息
将POM文件更新为SVN
运行测试用例
提交修订后的POM文件
在SVN上标记代码
添加版本号和其他快照以供将来发布
将修改后的POM文件提交给SVN

mvn release:perform
C:\MVN\bus-core-api>mvn release:prepare

在项目开发期间,部署过程包括以下步骤:
将所有项目代码提交给SVN或代码库并标记它们。
从SVN下载完整的源代码。
构建应用程序。

  <modelVersion>4.0.0</modelVersion>
   <groupId>bus-core-api</groupId>
   <artifactId>bus-core-api</artifactId>
   <version>1.0-SNAPSHOT</version>
   <packaging>jar</packaging> 

将构建导出的WAR或EAR文件存储到公共网络位置。
从网络获取文件并将其部署到生产站点。
更新文档并更新应用程序的版本号。
问题描述

  <build>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.0-beta-9</version>
            <configuration>
               <useReleaseProfile>false</useReleaseProfile>
               <goals>deploy</goals>
               <scmCommentPrefix>[bus-core-api-release-checkin]-<
               /scmCommentPrefix>
            </configuration>
         </plugin>
      </plugins>
   </build>

通常,上述开发过程涉及多个团队。一个团队可能会提交代码,另一个团队会构建,等等。由于涉及到人工操作和多团队环境,任何步骤都很可能出错。例如,网络计算机上未更新旧版本,然后部署团队重新部署了早期版本。
解决方案
通过结合以下解决方案自动化部署:
使用Maven构建和发布项目
使用SubVersion和源代码仓库管理源代码
使用远程仓库管理软件(Jfrog或Nexus)管理项目二进制文件。

mvn release:clean

清理工作空间,保证最新的发布进程成功进行。

mvn release:rollback

第一个测试是Maven生命周期阶段。第二个测试为构建配置文件指定参数。该参数通过-P传输。当然,它可以是prod或normal,定义。

相关文章
|
2月前
|
机器学习/深度学习 数据采集 运维
高效处理异常值的算法:One-class SVM模型的自动化方案
高效处理异常值的算法:One-class SVM模型的自动化方案
39 1
|
4月前
|
运维 监控 测试技术
ansible 自动化运维监控方案
本文介绍如何利用ansible实时或自动采集受控主机的信息
|
5月前
|
数据采集 Web App开发 前端开发
前端自动化UI测试的完整方案
前端自动化UI测试的完整方案
145 0
|
10月前
|
算法 测试技术 Shell
基于Fastbot的移动端自动化测试方案
使用火山引擎来实现移动端的Monkey测试
680 0
基于Fastbot的移动端自动化测试方案
|
11月前
|
运维 监控 前端开发
终端出厂后自动化运维方案
终端出厂后自动化运维方案
|
12月前
|
安全 Java Maven
from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories报错解决方案
最近升级Maven到3.8.1后,mvn编译的时候总是提示拉不到依赖,报错: Could not validate integrity of download from http://0.0.0.0/… 关键字maven-default-http-blocker。
709 0
|
JavaScript Shell 测试技术
Fabric 自动化部署(套娃)的终极方案
Fabric 自动化部署(套娃)的终极方案
|
Java Maven
使用maven构建项目报错Cannot change version of project facet Dynamic Web Module to 3.0解决方案
使用maven构建项目报错Cannot change version of project facet Dynamic Web Module to 3.0解决方案
使用maven构建项目报错Cannot change version of project facet Dynamic Web Module to 3.0解决方案
|
测试技术 Python
【零基础】性能、自动化测试技能自学提升方案
成为性能和自动化行业领域专家,做有魅力,有影响力的人。
94 0
【零基础】性能、自动化测试技能自学提升方案
|
存储 前端开发 Java
【Maven项目】在项目开发中对于NAPSHOT、Maven依赖关系管理以及三个标准生命周期
【Maven项目】在项目开发中对于NAPSHOT、Maven依赖关系管理以及三个标准生命周期
114 0

热门文章

最新文章

推荐镜像

更多