当前位置: 首页 > news >正文

威海设计网站的德赞网站建设网站制作

威海设计网站的,德赞网站建设网站制作,h5制作开发在哪儿,网页版微信不能登录的原因5. Maven的继承和聚合 5.1 什么是继承 Maven 的依赖传递机制可以一定程度上简化 POM 的配置#xff0c;但这仅限于存在依赖关系的项目或模块中。当一个项目的多个模块都依赖于相同 jar 包的相同版本#xff0c;且这些模块之间不存在依赖关系#xff0c;这就导致同一个依赖…5. Maven的继承和聚合 5.1 什么是继承 Maven 的依赖传递机制可以一定程度上简化 POM 的配置但这仅限于存在依赖关系的项目或模块中。当一个项目的多个模块都依赖于相同 jar 包的相同版本且这些模块之间不存在依赖关系这就导致同一个依赖需要在多个模块中重复声明这显然是不可取的大量的前人经验告诉我们重复往往意味着更多的劳动和更高的潜在风险。 在 Java 面向对象中我们可以建立一种类的父子结构然后在父类中声明一些字段和方法供子类继承这样就可以一定程度上消除重复做到 “一处声明多处使用”。在 Maven 的世界中也有类似的机制它就是 POM 继承。 Maven 在设计时借鉴了 Java 面向对象中的继承思想提出了 POM 继承思想。当一个项目包含多个模块时可以在该项目中再创建一个父模块并在其 POM 中声明依赖其他模块的 POM 可通过继承父模块的 POM 来获得对相关依赖的声明。 对于父模块而言其目的是为了消除子模块 POM 中的重复配置其中不包含有任何实际代码因此父模块 POM 的打包类型packaging必须是 pom。 子工程可以继承的父工程的元素 properties 示例 演示一在父模块下创建 JavaSE 子模块 1、创建 maven_fu 模块作为父模块。因为父模块不提供代码所以删除 src 目录在父模块下只保留 pom.xml 文件。 2、在 maven_fu 模块的 pom.xml 文件中使用 定义好依赖使用 定义好插件。 3、创建 JavaSE 模块 maven_zi_javase在模块中引入依赖。 测试结果如下图 在父工程中使用 统一指定依赖的版本。在子模块 maven_zi_javase 中直接使用 G、A 引入依赖不需要指定 V。父工程只负责声明依赖不会实际引入依赖。 演示二在父模块下创建 Java Web 子模块 1、在 maven_fu 模块的 pom.xml 文件中添加 servlet 依赖。 2、创建 Java Web 模块 maven_zi_javaweb在模块中引入 servlet 依赖。 3、在 maven_zi_javaweb 模块的插件中运行 tomcat7:run 4、浏览器访问 总结一句话通过继承可以实现子工程沿用父工程的配置大大减少重复设置。 5.2 什么是聚合 使用 Maven 聚合功能对项目进行构建时需要在该项目中额外创建一个的聚合模块然后通过这个模块构建整个项目的所有模块。聚合模块仅仅是帮助聚合其他模块的工具其本身并无任何实质内容因此聚合模块中只有一个 POM 文件不包含 src 等目录。 与父模块相似聚合模块的打包方式packaging也是 pom用户可以在其 POM 中通过 modules 下的 module 子元素来添加需要聚合的模块的目录路径。父模块的 pom.xml 文件的 把子模块聚集起来。 示例一具有父子关系的项目中可以直接在父模块中执行构建流程 maven_fu 有 2 个子模块 maven_zi_javase 和 maven_zi_javaweb。直接在 maven_fu 的生命周期里执行构建流程也会应用到子模块中 1、在 maven_fu 中执行 package 2、子模块成功打包 示例二在无依赖关系的模块间使用聚合实现统一构建 1、创建聚合模块 0_maven_juhe模块内只保留 pom.xml 文件。 2、创建 JavaSE 模块 1_maven_javase模块内只保留 pom.xml 文件创建子模块 1_maven_javase_zi。 3、创建 JavaWeb模块 2_maven_javaweb。 4、在 0_maven_juhe 的 pom.xml 文件中指定打包方式为 pom通过 modules 标签指定需要聚合的模块。 执行 package 命令查看打包情况 具体构建流程如下 C:\Softwares\Developer_Kits\JDK\jdk1.8.0_131\bin\java.exe -Dmaven.multiModuleProj ...... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] 1_maven_javase [pom] // JavaSE模块 [INFO] 1_maven_javase_zi [jar] // JavaSE模块的子模块 [INFO] 2_maven_javaweb Maven Webapp [war] // JavaWeb模块 [INFO] 0_maven_juhe [pom] // 聚合模块 [INFO] [INFO] -------------------- cn.myphoenix:1_maven_javase --------------------- [INFO] Building 1_maven_javase 1.0-SNAPSHOT [1/4] [INFO] from ..\1_maven_javase\pom.xml [INFO] --------------------------------[ pom ]--------------------------------- [INFO] [INFO] ------------------- cn.myphoenix:1_maven_javase_zi ------------------- [INFO] Building 1_maven_javase_zi 1.0-SNAPSHOT [2/4] [INFO] from ..\1_maven_javase\1_maven_javase_zi\pom.xml [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) 1_maven_javase_zi --- [INFO] Using UTF-8 encoding to copy filtered resources. [INFO] Copying 0 resource [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) 1_maven_javase_zi --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) 1_maven_javase_zi --- [INFO] Using UTF-8 encoding to copy filtered resources. [INFO] skip non existing resourceDirectory C:\Coding_Gallery\Intellij_IDEA_Workspace\learning_maven\1_maven_javase\1_maven_javase_zi\src\test\resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) 1_maven_javase_zi --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) 1_maven_javase_zi --- [INFO] No tests to run. [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) 1_maven_javase_zi --- [INFO] Building jar: C:\Coding_Gallery\Intellij_IDEA_Workspace\learning_maven\1_maven_javase\1_maven_javase_zi\target\1_maven_javase_zi-1.0-SNAPSHOT.jar [INFO] [INFO] -------------------- cn.myphoenix:2_maven_javaweb -------------------- [INFO] Building 2_maven_javaweb Maven Webapp 1.0-SNAPSHOT [3/4] [INFO] from ..\2_maven_javaweb\pom.xml [INFO] --------------------------------[ war ]--------------------------------- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) 2_maven_javaweb --- [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] Copying 0 resource [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) 2_maven_javaweb --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) 2_maven_javaweb --- [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] skip non existing resourceDirectory C:\Coding_Gallery\Intellij_IDEA_Workspace\learning_maven\2_maven_javaweb\src\test\resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) 2_maven_javaweb --- [INFO] No sources to compile [INFO] [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) 2_maven_javaweb --- [INFO] No tests to run. [INFO] [INFO] --- maven-war-plugin:2.2:war (default-war) 2_maven_javaweb --- [INFO] Packaging webapp [INFO] Assembling webapp [2_maven_javaweb] in [C:\Coding_Gallery\Intellij_IDEA_Workspace\learning_maven\2_maven_javaweb\target\2_maven_javaweb] [INFO] Processing war project [INFO] Copying webapp resources [C:\Coding_Gallery\Intellij_IDEA_Workspace\learning_maven\2_maven_javaweb\src\main\webapp] [INFO] Webapp assembled in [33 msecs] [INFO] Building war: C:\Coding_Gallery\Intellij_IDEA_Workspace\learning_maven\2_maven_javaweb\target\2_maven_javaweb.war [INFO] WEB-INF\web.xml already added, skipping [INFO] [INFO] --------------------- cn.myphoenix:0_maven_juhe ---------------------- [INFO] Building 0_maven_juhe 1.0-SNAPSHOT [4/4] [INFO] from pom.xml [INFO] --------------------------------[ pom ]--------------------------------- [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary for 0_maven_juhe 1.0-SNAPSHOT: [INFO] [INFO] 1_maven_javase ..................................... SUCCESS [ 0.000 s] [INFO] 1_maven_javase_zi .................................. SUCCESS [ 0.832 s] [INFO] 2_maven_javaweb Maven Webapp ....................... SUCCESS [ 0.386 s] [INFO] 0_maven_juhe ....................................... SUCCESS [ 0.000 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.311 s [INFO] Finished at: 2024-11-27T20:02:0008:00 [INFO] ------------------------------------------------------------------------Process finished with exit code 0思考继承和聚合很相似只是继承具有依赖关系而聚合是统一构建毫无关系的模块。 总结一句话聚合就是集中构建项目的。
http://www.dnsts.com.cn/news/184225.html

相关文章:

  • 海南省交通建设局网站个人做网站能备案吗
  • 网站ui设计报价单5g全连接工厂建设指南
  • 企业网站选择第三方还是自己做华龙建设部网站查不到
  • 网站建设属于哪个税目外发加工网订货会
  • 网站建设论文选题成品网站定制
  • 网站开发图片放哪里诸暨网站建设公司
  • 横岗网站建设公司厦门 微网站建设公司
  • WordPress影视cmsseo技术蜘蛛屯
  • 郑州做网站擎天设计制作生态瓶教学视频
  • 大朗网站建设公司自己做的网站怎么设置文件下载
  • 做自己的建材配送网站全球最大的磁力搜索引擎
  • 网站使用手册ai做的比较好的网站
  • 服务好的企业网站怎么建设个人网站页面模板
  • 网站改版设计费进什么科目国际原油价格最新实时消息
  • 丰台seo网站关键词优化哪里有免费的ppt模板下载
  • 彩票网站链接怎么做ui设计的作用
  • 做网站高手wordpress上传图片时发生了错误
  • 服务器怎么发布网站高品质网站欣赏
  • 做网站在线支付系统多少钱?旧房装修找哪家
  • 深圳龙岗做网站公司重庆建筑信息网官网
  • 免费建网站赚钱企业培训课程有哪些内容
  • 廊坊网站设计公司公司网站建设企业网站
  • 龙岩网站制作seo建设者
  • 拍卖网站怎么做平台网站做代理商
  • dede网站本地访问速度慢社群营销平台有哪些
  • 芜湖网站建设公司网站建站主题
  • 17网站一起做网店类似的做一个网站一般要多少钱
  • 石家庄建行网站wordpress本地打开慢
  • 网站维护的协议汕头网站建设小程序
  • 网站的后台登录注册怎么做广州越秀区最新通知