【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,定义。

相关文章
|
1月前
|
机器学习/深度学习 存储 测试技术
从0到1:如何规划一套流量回放自动化测试方案
本文介绍了流量回放自动化测试的完整方法,从企业战略到交付的四个关键环节:Discovery(深度挖掘)、Define(定义目标)、Design(详细设计)和Delivery(交付与反馈)。通过这些步骤,帮助企业优化系统性能和稳定性,确保产品的高质量。
55 4
|
1月前
|
存储 IDE Java
Maven NetBeans
NetBeans 6.7 及更新的版本已经内置了 Maven。对于以前的版本,可在插件管理中心获取 Maven 插件。此例中我们使用的是 NetBeans 6.9。
42 5
|
3月前
|
测试技术 Linux 虚拟化
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
详细的VMware虚拟机安装macOS Big Sur的保姆级教程,包括下载VMware和macOS镜像、图解安装步骤和遇到问题时的解决方案,旨在帮助读者顺利搭建macOS虚拟机环境。
142 3
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
|
3月前
|
测试技术 开发工具 iOS开发
iOS自动化测试方案(三):WDA+iOS自动化测试解决方案
这篇文章是iOS自动化测试方案的第三部分,介绍了在没有MacOS系统条件下,如何使用WDA(WebDriverAgent)结合Python客户端库facebook-wda和tidevice工具,在Windows系统上实现iOS应用的自动化测试,包括环境准备、问题解决和扩展应用的详细步骤。
264 1
iOS自动化测试方案(三):WDA+iOS自动化测试解决方案
|
3月前
|
测试技术 数据安全/隐私保护 iOS开发
iOS自动化测试方案(四):保姆级搭建iOS自动化开发环境
iOS自动化测试方案的第四部分,涵盖了基础环境准备、iPhone虚拟机设置、MacOS虚拟机与iPhone真机的连接,以及扩展问题和代码示例,确保读者能够顺利完成环境搭建并进行iOS自动化测试。
266 0
iOS自动化测试方案(四):保姆级搭建iOS自动化开发环境
|
3月前
|
测试技术 虚拟化 iOS开发
iOS自动化测试方案(二):Xcode开发者工具构建WDA应用到iphone
这篇文章是iOS自动化测试方案的第二部分,详细介绍了在Xcode开发者工具中构建WebDriverAgent(WDA)应用到iPhone的全过程,包括环境准备、解决构建过程中可能遇到的错误,以及最终成功安装WDA到设备的方法。
185 0
iOS自动化测试方案(二):Xcode开发者工具构建WDA应用到iphone
|
3月前
|
测试技术 开发工具 虚拟化
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
这篇文章提供了一份保姆级的教程,指导如何在MacOS虚拟机上安装Xcode,包括环境准备、基础软件安装以及USB扩展插件的使用,以实现iOS自动化测试方案的第一步。
126 0
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
|
3月前
|
Java 持续交付 项目管理
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。它采用项目对象模型(POM)来描述项目,简化构建流程。Maven提供依赖管理、标准构建生命周期、插件扩展等功能,支持多模块项目及版本控制。在Java Web开发中,Maven能够自动生成项目结构、管理依赖、自动化构建流程并运行多种插件任务,如代码质量检查和单元测试。遵循Maven的最佳实践,结合持续集成工具,可以显著提升开发效率和项目质量。
52 1
|
5月前
|
存储 安全 Java
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
245 4
2024ide构建maven项目是总是卡在解析Maven依赖项目 加速方案
|
4月前
|
自然语言处理 Java Maven
Maven 自动化构建
Maven自动化构建确保依赖稳定性。`bus-core-api(1.0-SNAPSHOT)`构建后,自动触发`app-web-ui`和`app-desktop-ui`的构建,两者均依赖bus-core-api的1.0快照版。 ``` 纯文本摘要: Maven自动化构建保证依赖项的稳定性:当`bus-core-api`的1.0-SNAPSHOT版本完成构建时,它会触发依赖它的`app-web-ui`和`app-desktop-ui`项目的构建,这两个项目都依赖`bus-core-api`的相同版本。

推荐镜像

更多