如何把kotlin+spring boot开发的项目部署在tomcat上
本文只讲部署过程,你首先要保证你的程序能在IDE里跑起来;


先看看你的application.properties中设置的端口号与你服务器上tomcat的端口号是否一致
server.port=80
(我现在不确定此配置是否会影响部署)
看看你的应用程序的入口函数
@SpringBootApplication
@EnableAutoConfiguration(exclude = arrayOf(DataSourceAutoConfiguration::class))
class JnaApplication: SpringBootServletInitializer() {
override fun configure(application: SpringApplicationBuilder): SpringApplicationBuilder =
application.sources(JnaApplication::class.java)
}
fun main(args: Array<String>) {
runApplication<JnaApplication>(*args)
}
SpringBootServletInitializer这个类负责让tomcat启动你的spring boot,如果没这个东西,你只能手动启动你的应用才行
然后配置你的project structure

上面我选了两种打包形式,一种是war包(war包其实就是一个压缩包,他可以用解压工具解开)
一种是war包的exploded形式,就是war包里的内容放在一个文件夹里了
这里的war包会包含所有依赖的库(java项目依赖的库大部分都是jar包)
另外我还在我的gradle配置文件中增加了以下内容
apply plugin: "war"
apply plugin: 'application'
mainClassName = 'com.ysl.jna.JnaApplicationKt'
(目前我也不知道有没有真实起到作用)
打包的操作是在这里完成的

之后你可以选择你要打包的形式(或者两种形式的包都打)

打包完成后,你会在你的项目子目录中找到打好的包

然后把你想要的包上传到tomcat服务器上去就可以了
分类:
JAVA
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
2015-01-06 学习WPF——元素绑定
2014-01-06 年终培训关于磁盘冗余阵列、热备、群集、负载均衡、云计算、F5、Nginx等的概念和基本原理
2013-01-06 【JS拾遗】函数的参数
2010-01-06 WCF随客户端软件一起发布,客户端自动识别WCF服务地址,不通过配置文件绑定WCF服务,客户端动态获取版本号