下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

编程语言:springboot~mvn多个关联项目打包问题

作者:张占岭     来源: https://www.cnblogs.com/lori/archive/2020/04/01/12612069.htm点击数:971发布时间: 2020-04-10 09:19:27

标签: spring编程语言C++

大神带你学编程,欢迎选课

  Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

  Maven除了以程序构建能力为特色之外,还提供高级项目管理工具。由于Maven的缺省构建规则有较高的可重用性,所以常常用两三行Maven构建脚本就可以构建简单的项目。由于Maven的面向项目的方法,许多ApacheJakarta项目发文时使用Maven,而且公司项目采用Maven的比例在持续增长。

  使用maven进行构建项目时,有时会把公共对象和方法抽象在一个common公用项目里,而其它项目直接依赖它即可,而在common项目配置需要注意一下,因为springboot生成的jar默认是可执行的jar包,所以在其它子项目编译时,会因为引用common失败而导致当前项目不能成功编译,而只能去根项目进行mvninstall来可以,这事实上很麻烦,所以今天主要解决一下这个问题。

  编译出现的错误

  [ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.1:compile(default-compile)onprojectprojectA:Compilationfailure

  解决方案

  在common项目的pom.XML里添加如下配置

  <build>

  <plugins>

  <plugin>

  <groupId>org.springframework.boot</groupId>

  <artifactId>spring-boot-maven-plugin</artifactId>

  <configuration>

  <classifier>exec</classifier><!--避免其它项目无法直接编译,编译时找不到这个包的问题-->

  </configuration>

  </plugin>

  </plugins>

  </build>

  再进行编译,问题解决!

  Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在JakataTurbine项目中用来简化构建过程。当时有一些项目(有各自Antbuild文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。

赞(13)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程