有时我们需要将应用打包, 并将所有依赖的包全部打一入大的jar包中.
有很多工具可以这样做, 另外当我们的应用中有使用spring时, 在spring的配置文件中一般会声明一下Spring Schema,在使用其它打包工具将所有依赖包打入一个大包中在运行时,会报 "Can't Find Beans Schema" 的错误, 下面的这种做法可以避免这样的问题出现:
使用maven shade plugin:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>1.3.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <finalName>${project.artifactId}-${project.version}-final</finalName> <shadedArtifactAttached>true</shadedArtifactAttached> <shadedClassifierName>jar-with-dependencies</shadedClassifierName> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.eifesun.platform.application.ApplicationLauncher</mainClass> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.handlers</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.schemas</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.tooling</resource> </transformer> </transformers> </configuration> </execution> </executions> </plugin>
特别要注意:
META-INF/spring.handlers
META-INF/spring.schemas
META-INF/spring.tooling
不要遗漏了,不然就会报"Can't Find Beans Schema"的错误.
相关推荐
idea创建Maven项目时,报错显示Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.0.2:resources,并且Maven插件内看不到 mybatis-generator。如下图: 折腾了好久发现配置放错地方了,...
Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project
3. **构建生命周期**:Maven定义了一系列的构建阶段(如编译、测试、打包、部署等),每个阶段都有对应的目标(goals)可以执行。 4. **插件和目标**:Maven拥有丰富的插件系统,可以通过插件扩展构建过程。每个...
适用人群:初级至中级水平的学习者和开发者,尤其是希望加深对Maven工具及其打包流程了解的人。 使用场景及目标:适合那些正在尝试创建或者重构自己基于Java平台的产品、特别是当涉及到Web应用开发时;目的是使初学...
官方版本,亲测可用
然而,有时候在使用Maven进行打包操作时,可能会遇到各种问题。本篇文章将详细阐述如何解决Maven打包出错的问题,并分享一些关于搭建Maven私服的知识。 一、Maven打包出错常见原因及解决办法 1. **依赖冲突**:当...
Above all, you will also learn to create site reports and documentation for your project along with handling typical build requirements and other advanced Maven usages. Table of Contents Chapter 1: ...
1. Maven插件与工具:介绍一些常用的Maven插件和工具,如Maven Helper、Maven Dependency Plugin等,它们可以帮助开发者更加高效地管理项目依赖和构建流程。 2. Maven实战教程:提供一系列Maven实战教程,包括如何...
mvn se.vandmo:dependency-lock-maven-plugin:lock将创建一个dependencies-lock.json文件。 然后,您应该将该文件提交给您选择的源控件。 如果某些依赖项是同一多模块项目的一部分,则您可能希望这些依赖项与锁定...
使用eclipse整合maven时所需要使用的配置文件;只需修改文件中的本地仓库路径即可完成整合,java初学者必选。
"Maven引入本地Jar包并打包进War包中的方法" Maven是一种流行的项目管理工具,主要用于Java项目的构建、测试和部署。在实际开发中,我们经常需要引入本地Jar包以满足项目的需求。本文将介绍Maven引入本地Jar包并...
以上就是关于"Maven打包,指定classes路径"的知识点,主要涉及到Maven的资源配置和插件定制。理解并掌握这些配置可以帮助开发者更高效地管理和构建Java Web应用。同时,记得在实际项目中根据实际情况调整`pom.xml`,...
适用于JavaFX的Maven插件 Maven插件可运行JavaFX 11+应用程序 安装 该插件可通过Maven Central获得。 如果要构建和安装最新的快照,可以克隆项目,设置JDK 11并运行 mvn install 用法 创建一个新的Maven项目,使用...
在命令行中,我们可以通过运行 `mvn clean package` 命令来触发Maven生命周期,这将清理旧的构建产物,编译源代码,并最终打包项目。在这个过程中,YUI Compressor会自动对指定的CSS和JS文件进行压缩。 4. **检查...
XJar-Maven-Plugin是对的一个Maven插件封装,实现可通过Maven命令或绑定在Maven的生命周期之中执行,从而更加便捷的方式集成了 。 GitHub: : 什么是XJar XJar是基于对JAR包内部资源的加密以及扩展ClassLoader来...
sprintboot maven 打包分离lib jar 资源文件 properties xml yml 详细信息查看我的博客 https://mp.csdn.net/postedit/80274087 java -jar -cp 启动
"maven 过滤文件夹打包"这个主题涉及到的是如何利用Maven的资源过滤功能来实现针对不同运行环境的配置文件打包。下面将详细解释这一过程。 在开发环境中,我们通常会有多种配置文件,比如`application-dev....
本教程将详细讲解如何在IntelliJ IDEA(IDEA)中利用Maven进行混淆打包,确保代码的安全性并提高可维护性。 首先,让我们了解一下涉及的工具和技术: 1. **Java**: 一种广泛使用的面向对象的编程语言,用于构建跨...
在本文中,我们将深入探讨如何使用Spring Boot和Maven来构建一个项目,使得依赖和配置文件被打包到jar包外部...通过理解并实践这些知识点,开发者能够更好地掌控Spring Boot和Maven的打包流程,以满足特定场景的需求。
idea新建maven web项目.zip Jetbrains IntelliJ IDEA创建基于maven打包工具的WEB网站项目 本项目使用的是SSM框架spring mvc,spring, mybatis.用maven打包成jar