news 2026/6/10 11:05:30

SpringBoot4.0合 Scala/Java 混编?我踩过的坑,请你绕行

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SpringBoot4.0合 Scala/Java 混编?我踩过的坑,请你绕行

SpringBoot4.0合 Scala/Java 混编?我踩过的坑,请你绕行

本节说明一下Scala和Java混合开发时,本地运行没问题,只要上线部署打成Jar包就会找不到启动类,启动时就会报错

1. 需要配置两个东西

1. Scala的依赖 2. Scala的打包插件

2. Scala打包部署

<dependency><groupId>org.scala-lang</groupId><artifactId>scala-library</artifactId><version>2.13.6</version><!-- 使用适合你项目的版本 --></dependency>

3. Scala打包插件

<!-- Scala Compiler --><plugin><groupId>net.alchim31.maven</groupId><artifactId>scala-maven-plugin</artifactId><version>4.4.1</version><executions><execution><goals><goal>compile</goal><goal>testCompile</goal></goals></execution></executions><configuration><scalaVersion>2.13.16</scalaVersion></configuration></plugin>

4. Scala打包效果

5. 完整Pom依赖

<?xml version="1.0" encoding="UTF-8"?><projectxmlns="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"><modelVersion>4.0.0</modelVersion><groupId>com.cloud.xx</groupId><artifactId>xx-cloud</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><mybatis-plus.version>3.4.3</mybatis-plus.version><mysql.connector.version>8.0.16</mysql.connector.version><hutool-all.version>5.8.18</hutool-all.version></properties><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>4.0.1-SNAPSHOT</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--knife4j 在线接口文档--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId><version>4.5.0</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency><dependency><groupId>com.dtflys.forest</groupId><artifactId>forest-spring-boot3-starter</artifactId><version>1.5.35</version></dependency><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>${hutool-all.version}</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot4-starter</artifactId><version>3.5.14</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.connector.version}</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.79</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.22</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- 或者使用PostgreSQL兼容驱动 --><!-- https://mvnrepository.com/artifact/org.postgresql/postgresql --><dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId><version>42.7.8</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</scope></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency><dependency><groupId>org.scala-lang</groupId><artifactId>scala-library</artifactId><version>2.13.6</version><!-- 使用适合你项目的版本 --></dependency></dependencies><build><finalName>xx-cloud</finalName><plugins><!-- Scala Compiler --><plugin><groupId>net.alchim31.maven</groupId><artifactId>scala-maven-plugin</artifactId><version>4.4.1</version><executions><execution><goals><goal>compile</goal><goal>testCompile</goal></goals></execution></executions><configuration><scalaVersion>2.13.16</scalaVersion></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><mainClass>com.cloud.xx.ApplicationBoot</mainClass><includeSystemScope>true</includeSystemScope></configuration></plugin></plugins></build><repositories><repository><id>spring-snapshots</id><url>https://repo.spring.io/snapshot</url><snapshots><enabled>true</enabled></snapshots></repository><repository><id>spring-milestones</id><url>https://repo.spring.io/milestone</url></repository></repositories><pluginRepositories><pluginRepository><id>spring-snapshots</id><url>https://repo.spring.io/snapshot</url></pluginRepository><pluginRepository><id>spring-milestones</id><url>https://repo.spring.io/milestone</url></pluginRepository></pluginRepositories></project>

6. 往/期/回/顾

REVIEW

2026年SpringCloudAlibaba全家桶+三个全栈零基础实战项目

杀疯了Spring Boot 4.0 最新特性整合 MyBatis-Plus 完整教程

《深夜救急!一次微信关单事故,让我重构了整个SpringCloud Alibaba支付架构》

Spring Boot 4.0 与 Mybatis Plus 整合完整指南

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 13:32:53

能源效率优化中的多智能体:AI应用架构师的协作设计指南

能源效率优化中的多智能体&#xff1a;AI应用架构师的协作设计指南 关键词&#xff1a;能源效率优化、多智能体系统、AI应用架构、协作设计、智能电网、工业能耗管理、建筑能源管理 摘要&#xff1a;本文深入探讨能源效率优化领域中多智能体系统的应用&#xff0c;为AI应用架构…

作者头像 李华
网站建设 2026/6/10 13:32:52

徐珊「去有光的地方」跨年演唱会:一场从发歌到发光的终极奔赴

她曾用数百个日夜&#xff0c;在录音设备前编织旋律&#xff1b;如今&#xff0c;她将以首场个人舞台&#xff0c;为所有等待交出答卷。2025年12月31日&#xff0c;歌手徐珊的首场大型个人演唱会《去有光的地方》正式启幕&#xff0c;这不仅是一场跨年盛典&#xff0c;更是一次…

作者头像 李华
网站建设 2026/6/10 13:32:11

[吐血推荐]三本让人茅塞顿开的经典项目管理书籍

有很多目前正在从事项目管理的人&#xff0c;没有系统学习过项目管理知识。对于这些人而言&#xff0c;阅读一些经典的项目管理类书籍将会对日后的职业生涯发展有很大帮助。本文推荐三本项目管理优秀书籍&#xff0c;让你从入门到精通、从零开始真正系统化地学好项目管理的专业…

作者头像 李华
网站建设 2026/6/10 9:32:32

Mapbox GL JS 核心表达式:`get` 完全教程

get 是 Mapbox GL JS 表达式系统中最基础、最常用的核心表达式之一&#xff0c;其核心作用是安全地获取属性值——既可以从地图要素&#xff08;Feature&#xff09;的 properties 字段取值&#xff0c;也可以从自定义对象取值&#xff1b;若目标属性不存在&#xff0c;会返回 …

作者头像 李华
网站建设 2026/6/9 18:52:08

VSCode Python环境配置成功的关键:Miniconda路径设置

VSCode Python环境配置成功的关键&#xff1a;Miniconda路径设置 在人工智能与数据科学项目日益复杂的今天&#xff0c;开发者常常面临一个看似简单却极易出错的问题&#xff1a;为什么代码在终端能跑&#xff0c;但在 VSCode 里却报 ModuleNotFoundError&#xff1f;更令人困惑…

作者头像 李华
网站建设 2026/6/10 14:44:30

34、嵌入式系统U-Boot更新与网络服务配置指南

嵌入式系统U-Boot更新与网络服务配置指南 一、U-Boot镜像下载与操作 在嵌入式系统中,除了使用 tftpboot 命令下载镜像到目标设备外,还可以使用 loadb 命令。操作步骤如下: 1. 使用 loadb 命令: => loadb 00100000 ## Ready for binary (kermit) download ...…

作者头像 李华