最近要开发新的项目,就花了几天时间看了下spring boot的相关资料,然后做了一个demo,不得不说开发效率确实很快,几行注解就完成了事务,aop,数据库等相关配置;但由于先前习惯了spring mvc的开发,还是有些不习惯,这里说的是这个项目大部分都是从原来的旧项目拷贝出来的代码,因为框架不一样,pom.xml也是不同的,然后抽取出了一个maven 工程用来存放公共的配置文件和代码等,也就是所谓的聚合工程。

但是到一直报错,错误代码是  source 1.5 中不支持 diamond 运算符,   项目右键--》Java Compiler  发现是1.5的jdk,很奇怪,我记得之前是1.7,后来找到原因是因为我之前在eclipse操作过 update project,项目又变成了1.5;改回来后再次 update project后又改变成jdk1.5, 就是这个原因导致spring boot 插件一直无法编译项目,就算后续在 Java Compiler改成1.7也无法编译,这个原因暂时没找到。

后来继续排查到公共项目这里,发现是这里出了问题,因为我单独对spring boot项目打包项目是没问题的,但是依赖公共项目后就出现问题,当时很奇怪的是报错的竟然报的不是公共工程的错误,而是我的spring boot项目的错误,然后继续查找原因,在公共工程这里试着执行了一下打包的命令,没有出现异常错误,后来想了个办法干脆把  service 和 mapper 也放到公共项目,然后公共工程是一个jar包,被其他项目引用的时候是以一个jar的形式存放,然而我们只要依赖他的编译后的class文件,于是进行了迁移后配置如下:

spring boot  工程 pom.xml(这里的编译插件用的是boot官网提供的)

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  2. <modelVersion>4.0.0</modelVersion>
  3. <groupId>com.gzdtl</groupId>
  4. <artifactId>gzdtl-person-loan</artifactId>
  5. <version>0.0.1-SNAPSHOT</version>
  6.  
  7. <dependencies>
  8. <dependency>
  9. <groupId>com.gzdtl</groupId>
  10. <artifactId>gzdtl-boot-common</artifactId>
  11. <version>0.0.1-SNAPSHOT</version>
  12. </dependency>
  13. </dependencies>
  14.  
  15. <build>
  16. <finalName>gzdtl-mz</finalName>
  17. <plugins>
  18. <plugin>
  19. <groupId>org.springframework.boot</groupId>
  20. <artifactId>spring-boot-maven-plugin</artifactId>
  21. <dependencies>
  22. <!-- spring热部署-->
  23. </dependencies>
  24. <executions>
  25. <execution>
  26. <goals>
  27. <goal>repackage</goal>
  28. </goals>
  29. </execution>
  30. </executions>
  31. </plugin>
  32.  
  33. </plugins>
  34. </build>
  35.  
  36. <repositories>
  37. <repository>
  38. <id>spring-milestone</id>
  39. <url>https://repo.spring.io/libs-release</url>
  40. </repository>
  41. </repositories>
  42. <pluginRepositories>
  43. <pluginRepository>
  44. <id>spring-milestone</id>
  45. <url>https://repo.spring.io/libs-release</url>
  46. </pluginRepository>
  47. </pluginRepositories>
  48.  
  49. </project>

公共项目 pom.xml

  1. <build>
  2. <finalName>gzdtl-boot-common</finalName>
  3. <plugins>
  4. <plugin>
  5. <groupId>org.apache.maven.plugins</groupId>
  6. <artifactId>maven-compiler-plugin</artifactId>
  7. <configuration>
  8. <source>1.7</source>
  9. <target>1.7</target>
  10. </configuration>
  11. </plugin>
  12. </plugins>
  13. </build>

【原】spring boot在整合项目依赖的问题的更多相关文章

  1. Spring boot Mybatis 整合(完整版)

    个人开源项目 springboot+mybatis+thymeleaf+docker构建的个人站点开源项目(集成了个人主页.个人作品.个人博客) 朋友自制的springboot接口文档组件swagge ...

  2. Spring boot 多模块项目 + Swagger 让你的API可视化

    Spring boot 多模块项目 + Swagger 让你的API可视化 前言 手写 Api 文档的几个痛点: 文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时. 接口返回结果不 ...

  3. Spring Boot 应用系列 5 -- Spring Boot 2 整合logback

    上一篇我们梳理了Spring Boot 2 整合log4j2的配置过程,其中讲到了Spring Boot 2原装适配logback,并且在非异步环境下logback和log4j2的性能差别不大,所以对 ...

  4. Spring boot Mybatis 整合(注解版)

    之前写过一篇关于springboot 与 mybatis整合的博文,使用了一段时间spring-data-jpa,发现那种方式真的是太爽了,mybatis的xml的映射配置总觉得有点麻烦.接口定义和映 ...

  5. Spring Boot:整合Spring Security

    综合概述 Spring Security 是 Spring 社区的一个顶级项目,也是 Spring Boot 官方推荐使用的安全框架.除了常规的认证(Authentication)和授权(Author ...

  6. Spring Boot:整合Swagger文档

    综合概述 spring-boot作为当前最为流行的Java web开发脚手架,越来越多的开发者选择用其来构建企业级的RESTFul API接口.这些接口不但会服务于传统的web端(b/s),也会服务于 ...

  7. Spring Boot:整合MyBatis框架

    综合概述 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单 ...

  8. Spring Boot:整合JdbcTemplate

    综合概述 Spring对数据库的操作在jdbc上面做了更深层次的封装,而JdbcTemplate便是Spring提供的一个操作数据库的便捷工具.我们可以借助JdbcTemplate来执行所有数据库操作 ...

  9. Spring Boot:整合Spring Data JPA

    综合概述 JPA是Java Persistence API的简称,是一套Sun官方提出的Java持久化规范.其设计目标主要是为了简化现有的持久化开发工作和整合ORM技术,它为Java开发人员提供了一种 ...

随机推荐

  1. ZOJ 3741 Eternal Reality

    Eternal Reality Time Limit: 2 Seconds                                      Memory Limit: 65536 KB In ...

  2. SQL语句的MINUS,INTERSECT和UNION ALL

    SQL语句中的三个关键字:MINUS(减去),INTERSECT(交集)和UNION ALL(并集); 关于集合的概念,中学都应该学过,就不多说了.这三个关键字主要是对数据库的查询结果进行操作,正如其 ...

  3. zookeeper 伪集群模式

    问题二:开发没有足够机器,一台机子上是否装三个zookeeper服务器集群. 问题解答: 这种安装模式只能说是一种伪集群模式.三个zookeeper服务器都安装在同一个服务器(platform)上,需 ...

  4. SQL SERVER表不能修改表结构的处理方法

    SQL SERVER表提示不能修改表结构,这究竟是什么原因呢?下面就为您介绍处理该问题的方法,如果您在SQL SERVER表修改方面遇到过问题,不妨一看. 新装的SQL SERVER 2008,打开原 ...

  5. 基于ZooKeeper的Dubbo简单抽样登记中心

    一:设备zookeeper 系统环境 Ubuntu 14.04.2 LTS x64 IP : 192.168.1.102 下载zookeeper-3.4.6.tar.gz到文件夹/opt.拉开拉链 m ...

  6. linux 之进程间通信-------------InterProcess Communication

    进程间通信至少可以通过传送打开文件来实现,不同的进程通过一个或多个文件来传递信息,事实上,在很多应用系统里,都使用了这种方法.但一般说来,进程间 通信(IPC:InterProcess Communi ...

  7. 全国三级城市联动 js版

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 五毛的cocos2d-x学习笔记06-处理用户交互

    前几篇感觉自己在写教育文章,╮(╯▽╰)╭.今天换成开发者的口吻,毕竟我也是在边学边写博客. 处理用户交互包括:单点触摸.多点触摸.事件传递.传感器.物理按键等部分. 单点触摸: 触摸事件传递顺序 o ...

  9. BZOJ 1005: [HNOI2008]明明的烦恼( 组合数学 + 高精度 )

    首先要知道一种prufer数列的东西...一个prufer数列和一颗树对应..然后树上一个点的度数-1是这个点在prufer数列中出现次数..这样就转成一个排列组合的问题了.算个可重集的排列数和组合数 ...

  10. JavaScript 验证提交文件的信息

    前言 目前工作任务终于告一段落了,今天发现之前写的文件上传的代码有点小瑕疵,就是上传图片如果超过 2M 就会出错,因为七牛云好像限制了上传图片的大小,所以就用 JavaScript 在文件选中之后,上 ...