SpringBoot项目以jar包的方式导出

本文介绍了如何将SpringBoot项目以jar包方式导出,包括在pom.xml配置jar包名字,更新项目,执行Maven clean和Maven install,最终在target目录下获取jar包。若install出现错误,可通过Maven build并输入package解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringBoot项目以jar包的方式导出

一般我们创建的springBoot项目都是Maven项目,项目以jar包的方式导出一般有以下步骤:

1.首先设置导出jar包的名字

在pom.xml文件中加上<finalName>test</finalName>代码

    <build>
        <finalName>test</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

2.更新此项目

这里写图片描述

3.Maven clean 项目

这里写图片描述

4.点击Maven install

这里写图片描述

通过以上步骤就可以在工作空间的项目目录下的target文件夹下找到test.jar包


如果点击Maven install遇到以下错误

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Test 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ Test ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] Copying 1 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ Test ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 8 source files to F:\Ruijie\Workspace\Test\target\classes
[INFO] -------------------------------------------------------------
[WARNING] COMPILATION WARNING : 
[INFO] -------------------------------------------------------------
[WARNING] /F:/Ruijie/Workspace/Test/src/main/java/com/ruijie/Test/cache/RedisCache.java: F:\Ruijie\Workspace\Test\src\main\java\com\ruijie\Test\cache\RedisCache.java使用了未经检查或不安全的操作。
[WARNING] /F:/Ruijie/Workspace/Test/src/main/java/com/ruijie/Test/cache/RedisCache.java: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
[INFO] 2 warnings 
[INFO] -------------------------------------------------------------
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /F:/Ruijie/Workspace/Test/src/main/java/com/ruijie/Test/mapper/LoginMapper.java:[12,32] 注释值必须为类文字
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.386 s
[INFO] Finished at: 2017-11-30T15:15:49+08:00
[INFO] Final Memory: 26M/187M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project Test: Compilation failure
[ERROR] /F:/Ruijie/Workspace/Test/src/main/java/com/ruijie/Test/mapper/LoginMapper.java:[12,32] 注释值必须为类文字
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

我们可以使用Maven build操作此项目

这里写图片描述

然后在Goals输入框输入package

这里写图片描述

<think>我们正在使用MyEclipse2018导出SpringBoot项目为可执行的JAR文件。由于MyEclipse2018可能没有直接支持SpringBoot的打插件,我们需要手动配置Maven并执行打命令。以下是详细步骤:###步骤1:确保项目Maven项目并正确配置pom.xml在pom.xml中,必须含`spring-boot-maven-plugin`插件,并指定主类(如果自动检测失败)。```xml<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.0.9.RELEASE</version><!--请使用与SpringBoot版本匹配的插件版本--><configuration><mainClass>com.example.MainApplication</mainClass><!--替换为你的主应用类--></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>```###步骤2:在MyEclipse中执行Maven1.右键单击项目->RunAs->Mavenbuild...2.在Goals中输入:`cleanpackage`3.点击Run执行###步骤3:定位生成的JAR文件打成功后,在项目的`target`目录下会生成两个JAR文件:-`your-project-name-0.0.1-SNAPSHOT.jar`:可执行的FatJAR含所有依赖)-`your-project-name-0.0.1-SNAPSHOT.jar.original`:原始的JAR(不含依赖)###步骤4:验证JAR文件在命令行中运行:```cmdjava-jartarget/your-project-name-0.0.1-SNAPSHOT.jar```###常见问题解决####问题1:打后没有生成可执行的JAR-原因:`spring-boot-maven-plugin`未正确配置-解决:检查pom.xml中的插件配置,确保执行了`repackage`目标####问题2:找不到主清单属性-原因:MANIFEST.MF中缺少Main-Class-解决:确保`spring-boot-maven-plugin`插件已配置,并且打命令为`cleanpackage`####问题3:MyEclipse中没有MavenBuild选项-解决:将项目转换为Maven项目-右键项目->Configure->ConverttoMavenProject###替代方案:使用命令行打如果MyEclipse的Maven集成有问题,可以打开命令行进入项目目录,执行:```cmdmvncleanpackage```###手动指定主类(当自动检测失败时)如果主类没有被自动检测到,可以在插件配置中明确指定:```xml<configuration><mainClass>com.example.YourMainApplication</mainClass></configuration>```###注意事项1.确保项目JDK版本与运行环境JDK版本一致2.检查Maven的settings.xml配置,确保依赖下载正常3.如果使用嵌入式服务器(如Tomcat),确保scope为provided的依赖不会被打进去(SpringBoot默认已处理)§§相关问题§§:1.如何在IntelliJIDEA中导出SpringBoot项目为可执行JAR?2.SpringBoot的FatJAR是如何组织依赖库的?3.如何排除SpringBootJAR中不需要的依赖?4.如何将SpringBoot应用打成WAR文件并在外部Tomcat中运行?</think>### 在 MyEclipse 2018 中导出 Spring Boot 项目JAR 的完整指南 MyEclipse 2018 虽然不如现代 IDE 对 Spring Boot 支持完善,但通过以下步骤可以成功导出可执行的 JAR 文件: #### 步骤 1:验证项目配置 确保 `pom.xml` 含 Spring Boot Maven 插件: ```xml <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.1.18.RELEASE</version> <!-- 匹配你的Spring Boot版本 --> <configuration> <mainClass>com.yourpackage.Application</mainClass> <!-- 指定主类 --> </configuration> <executions> <execution> <goals> <goal>repackage</goal> <!-- 关键:生成可执行JAR --> </goals> </execution> </executions> </plugin> </plugins> </build> ``` #### 步骤 2:通过 MyEclipse 执行 Maven 1. **右键项目** → **Run As** → **Maven build...** 2. 在配置窗口设置: ``` Goals: clean package Profiles: (留空) Skip Tests: true (可选) ``` ![MyEclipse Maven 配置](https://i.imgur.com/5XzJk9L.png) 3. 点击 **Run** 执行打 #### 步骤 3:手动验证打结果 1. 在项目目录中打开命令行: ```cmd cd your-project/target jar tf your-project-0.0.1-SNAPSHOT.jar ``` 2. 检查输出是否含: ``` META-INF/MANIFEST.MF BOOT-INF/classes/ BOOT-INF/lib/ ``` #### 步骤 4:解决找不到主类问题 如果运行时出现 `找不到主类` 错误,手动修改 MANIFEST.MF: 1. 解压 JAR 文件: ```cmd jar xf your-project-0.0.1-SNAPSHOT.jar ``` 2. 编辑 `META-INF/MANIFEST.MF`: ``` Main-Class: org.springframework.boot.loader.JarLauncher Start-Class: com.yourpackage.Application ``` 3. 重新打: ```cmd jar cfm0 your-project-fixed.jar META-INF/MANIFEST.MF . ``` #### 备选方案:命令行打 如果 MyEclipse 打失败,使用外部 Maven: 1. 打开命令行进入项目目录 2. 执行: ```cmd mvn clean package -DskipTests ``` #### 步骤 5:运行验证 ```cmd java -jar target/your-project-0.0.1-SNAPSHOT.jar ``` ### 常见问题解决方案 **问题:MANIFEST.MF 中缺少 Start-Class** 原因:MyEclipse 的 Maven 集成可能不完善 解决:在 `pom.xml` 中显式添加配置: ```xml <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <mainClass>com.yourpackage.Application</mainClass> <!-- 添加manifest配置 --> <executable>true</executable> <layout>JAR</layout> </configuration> </plugin> ``` **问题:依赖库未正确打** 解决:检查生成的 JAR 是否含 BOOT-INF/lib 目录 ```cmd jar tf your-project.jar | grep "BOOT-INF/lib" ``` **问题:JDK 版本不匹配** 解决:在 `pom.xml` 中指定兼容的 JDK 版本 ```xml <properties> <java.version>1.8</java.version> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> ``` ### MyEclipse 2018 特定技巧 1. **启用 Spring Boot 支持**: - 安装 Spring 插件:Help → Eclipse Marketplace → 搜索 "Spring Tools" 2. **创建启动配置**: - 右键项目 → Run As → Spring Boot App (如果插件可用) 3. **查看完整控制台输出**: - 打时切换到 "Maven Build" 控制台视图,查看详细日志
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值