最近在写 springboot 项目时,需要使用多模块,遇到了许多问题。

1 如果程序使用了 java8 的一些特性,springboot 默认构建工具不支持。需要修改配置

。。。
</build>
</plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<testSource>1.8</testSource>
<testTarget>1.8</testTarget>
</configuration>
</plugin> </plugins>
</build>
。。。

2 对于资源文件,默认是在 src\main\resources 下,如果在其他目录需要使用,需要修改一下默认配置

<project>
。。。
<build>
。。。
</resources>
<!-- 如果资源文件在java源文件夹里,需要使用配置将其打包到classpath下,这样才可以找到 -->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
。。。
</build> </project>

说明:对于前后端分离的项目,如果要将前端页面也打包到 jar 或 wa r包中,需要将这些作为资源加进来。

例如:我的静态资源 js,css,html...文件都放在 src/main/resources 文件夹下,该文件夹下所有文件都需要打包进来的话,可以作如下修改

<project>
。。。 <build>
。。。
<resources>
。。。
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**</include>
</includes>
</resource>
</resources>
</build>
</project>

3 对于多模块 springboot 项目,模块之间有依赖关系,最后需要将可访问的模块打包成jar文件。在Springboot项目中使用默认的构建插件,打出来的 jar 包不能独立运行。解决办法

修改 pom 构建配置

<build>
<finalName>demo</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.demo.test.DemoApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<!-- 将所有的依赖jar包打包进 lib 文件夹里-->
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
...

springboot 多模块 maven 项目构建jar 文件配置的更多相关文章

  1. Maven项目导出jar包配置

    <!-- 第一种打包方式 (maven-jar-plugin), 将依赖包和配置文件放到jar包外 --> <build> <sourceDirectory>src ...

  2. <转>创建支持eclipse的多模块maven项目

    如何使用eclipse创建Maven工程及其子模块 1,首先创建一个父类工程   子模块继承父类工程      并在父类工程的pom.xml文件中定义引入的jar及其版本号     子模块可以引用 2 ...

  3. maven项目构建

    Maven是apache的一个开源项目.是一个用来把源代码构建成可发布的构件的工具. Maven的功能非常强大,可以认为是一个项目管理工具,不仅仅是一个构建工具. Maven本身的核心很小,但是可以在 ...

  4. IDEA中MAVEN项目打JAR包的简单方法

      Idea中为一般的非Web项目打Jar包是有自己的方法的,网上一搜就能查到很多. 但是如果是为Maven项目打Jar包,其实是很简单的,因为maven本身就有打Jar包的命令.   最简单的方法 ...

  5. (转)Maven学习总结(二)——Maven项目构建过程练习

    孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(二)——Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项 ...

  6. Maven学习总结(2)——Maven项目构建过程练习

    Maven学习总结(二)--Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建 ...

  7. 多模块Maven项目怎样使用javadoc插件生成文档

    需求 近期要对一个项目结构例如以下的Maven项目生成JavaDoc文档. Project                         |-- pom.xml                   ...

  8. 多模块Maven项目如何使用javadoc插件生成文档

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   需求 最近要对一个项目结构如下的Maven项目生成JavaDoc文档. Project                  ...

  9. Maven项目导出jar包,包含依赖

    1. Maven项目导出jar包,包含依赖:mvn dependency:copy-dependencies package 2. 可以在Project创建lib文件夹,输入以下命令:mvn depe ...

随机推荐

  1. JAVA开发人员画图表总结(ECHARTS)

    随着大数据的到来,越来越多的数据需求需要开发,而这些需求不可避免需要使用JS画出图表,而大多后端JAVA开发人员对JS不太熟悉,导致身心倍受折磨,今天记录以下最近我使用echarts的步骤,供参考: ...

  2. 利用 pywin32 操作 excel

    from win32com.client import Dispatch import win32com.client import time # 获取excel 对象 excel = win32co ...

  3. WIN下Git GUI 教程

    现在很多都有git来托管项目或者来查找资料,但是看起来操作不是很方便,现在由于win下可以直接使用git gui,让使用git变得方便,当然这只是针对日常简单的使用,如果想详细的使用,可以去参考廖学峰 ...

  4. Jquery 一些好用的插件和工具类

    1.做页面校验的工具类 <!--area.js存放区域编码的一个常量.由于bee.js里面的getPersonInfo18()方法需要调用这个常量,所以在bee.js之前引入.如果不需要用到这个 ...

  5. Java并发容器之非阻塞队列ConcurrentLinkedQueue

    参考资料:http://blog.csdn.net/chenchaofuck1/article/details/51660521 实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,阻塞队列就是 ...

  6. openerp 7.0邮件接收中文附件乱码问题解决办法

    openerp 7.0邮件接收中文附件乱码问题解决办法: 修改文件\addons\mail\mail_thread.py #1064 line插入代码: h=email.Header.Header(n ...

  7. An Objective-C Error

    Incompatible integer to pointer conversion assigning to 'NSInteger *' (aka 'long *') from 'int' 主要是因 ...

  8. soapui configure before taking to develop code

    1,first go to the settings and configure as below:

  9. tablib把数据导出为Excel、JSON、CSV等格式的Py库(写入数据并导出exl)

    #tablib把数据导出为Excel.JSON.CSV等格式的Py库 #python 3 import tablib #定义列标题 headers = ('1列', '2列', '3列', '4列', ...

  10. 向Kubernetes集群删除Node

    Kubernetes集群中移除Node在master节点上执行: kubectl drain swarm1 --delete-local-data --force --ignore-daemonset ...