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

相关文章
|
8月前
|
人工智能 自然语言处理 算法
AI智能混剪视频大模型开发方案:从文字到视频的自动化生成·优雅草卓伊凡
AI智能混剪视频大模型开发方案:从文字到视频的自动化生成·优雅草卓伊凡
887 0
AI智能混剪视频大模型开发方案:从文字到视频的自动化生成·优雅草卓伊凡
|
3月前
|
Java 项目管理 Maven
Maven项目管理与构建自动化完全指南
Maven彻底改变了Java项目管理方式,通过POM模型、依赖管理和标准化构建流程,大幅提升开发效率。本文深入解析其核心概念、多模块管理、私服搭建及与Spring Boot、Docker等现代技术栈的集成实践,助力开发者实现高效、规范的项目构建与团队协作。
Maven项目管理与构建自动化完全指南
|
7月前
|
机器学习/深度学习 Kubernetes 监控
Kubernetes 节点故障自愈方案:结合 Node Problem Detector 与自动化脚本
本文深入探讨了Kubernetes节点故障自愈方案,结合Node Problem Detector(NPD)与自动化脚本,提供技术细节、完整代码示例及实战验证。文章分析了硬件、系统和内核层面的典型故障场景,指出现有监控体系的局限性,并提出基于NPD的实时事件捕获与自动化诊断树的改进方案。通过深度集成NPD、设计自动化修复引擎以及展示内核死锁恢复的实战案例,文章详细说明了自愈流程的实现步骤与性能优势。此外,还提供了生产环境部署指南、高可用架构设计及安全防护措施,并展望了机器学习增强故障预测和混沌工程验证的进阶优化方向。全文约1.2万字,适合希望提升Kubernetes集群稳定性的技术人员阅读。
507 3
|
10月前
|
关系型数据库 Shell 网络安全
定期备份数据库:基于 Shell 脚本的自动化方案
本篇文章分享一个简单的 Shell 脚本,用于定期备份 MySQL 数据库,并自动将备份传输到远程服务器,帮助防止数据丢失。
|
11月前
|
Kubernetes 持续交付 开发工具
阿里云协同万兴科技落地ACK One GitOps方案,全球多机房应用自动化发布,效率提升50%
阿里云协同万兴科技落地ACK One GitOps方案,全球多机房应用自动化发布,效率提升50%
447 2
|
11月前
|
Kubernetes 持续交付 开发工具
阿里云协同万兴科技落地ACK One GitOps方案,全球多机房应用自动化发布,效率提升50%
阿里云协同万兴科技落地ACK One GitOps方案,全球多机房应用自动化发布,效率提升50%
|
Java Maven
Maven编译报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile 解决方案
在执行Maven项目中的`install`命令时,遇到编译插件版本不匹配的错误。具体报错为:`maven-compiler-plugin:3.13.0`要求Maven版本至少为3.6.3。解决方案是将Maven版本升级到3.6.3或降低插件版本。本文详细介绍了如何下载、解压并配置Maven 3.6.3,包括环境变量设置和IDEA中的Maven配置,确保项目顺利编译。
14176 5
Maven编译报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile 解决方案
|
弹性计算 运维 安全
自动化AutoTalk第十五期:自动化场景-多账号自动化场景下的AK管理方案
自动化AutoTalk第十五期探讨了多账号自动化场景下的AK管理方案。主要介绍了通过阿里云的实例角色和STS Token减少AK暴露风险,避免硬编码AK带来的安全隐患。最佳实践包括定期轮转AK、使用临时Token、分环境管理凭据,以及利用ECS实例角色实现安全的跨账号资源操作,确保在多账号架构中提升自动化程序的安全性和管理效率。
307 7
|
机器学习/深度学习 存储 测试技术
从0到1:如何规划一套流量回放自动化测试方案
本文介绍了流量回放自动化测试的完整方法,从企业战略到交付的四个关键环节:Discovery(深度挖掘)、Define(定义目标)、Design(详细设计)和Delivery(交付与反馈)。通过这些步骤,帮助企业优化系统性能和稳定性,确保产品的高质量。
396 4
|
测试技术 Linux 虚拟化
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
详细的VMware虚拟机安装macOS Big Sur的保姆级教程,包括下载VMware和macOS镜像、图解安装步骤和遇到问题时的解决方案,旨在帮助读者顺利搭建macOS虚拟机环境。
1256 3
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS

热门文章

最新文章

推荐镜像

更多