






























大疆上云api的demo程序默认不能打包成JAR包,平台有两个模块,sample和cloud-sdk,前者是主程序,后者是封装的基层库,打包配置文件有三个分别是最外层的pom.xml和两个模块内部的两个pom.
大疆官网提供的Spring Boot项目默认不配置打包插件,通常是为了保持灵活性和避免与用户现有项目结构冲突。下面我会帮你分析原因,并给出一个简单可靠的修改方案。
大疆官方POM可能没有配置 spring-boot-maven-plugin,主要是出于以下几点考虑:
项目类型不明确:父POM可能被多个子模块继承,某些模块可能是普通的JAR库(不需要可执行JAR),而只有包含主类的模块(如你的sample)才需要打包成可执行JAR。直接在父POM配置可能会影响其他模块。
自定义需求:用户的项目可能具有特殊的打包需求(比如需要包含外部资源、特定的目录结构等),官方提供一个"干净"的POM让用户根据自己的情况配置更为稳妥8。
依赖管理优先:官方提供的POM首要任务是确保依赖版本和范围的正确管理,使项目能够正确编译210。打包部署通常被视为后续的、可由用户定制的步骤。
要让你的sample模块能够打包成可执行的JAR,最关键的一步就是在sample模块的POM(即你提供的pom3.xml)中添加 spring-boot-maven-plugin 插件。
定位你的sample模块的POM文件:找到你项目中的 sample/pom.xml。
添加打包插件配置:在 <project> 标签下的 <build> 部分,添加如下插件配置。如果已有 <build> 标签,则将 <plugins> 部分合并进去即可:
执行打包命令:在项目根目录下打开终端,执行以下命令:
mvn clean package -DskipTests
完成以上步骤后,正常情况下会在 sample/target/ 目录下生成一个可执行的JAR文件(通常名称类似于 sample-1.10.0.jar),你可以使用 java -jar your-jar-name.jar 来运行它。
这个修改是最小且必需的。spring-boot-maven-plugin 的 repackage goal 是生成可执行JAR的关键8。
确保插件版本与父POM中管理的Spring Boot版本(在你的文件里是2.7.12)保持一致,可以避免潜在的兼容性问题。
大部分情况下,插件能自动找到带有 main 方法的启动类。如果打包后运行报错提示找不到主类,再取消注释上面的 <mainClass> 配置并填写正确的全类名。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。