如何把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服务器上去就可以了
 
 

 
posted @   liulun  阅读(1580)  评论(0编辑  收藏  举报
编辑推荐:
· .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服务,客户端动态获取版本号
点击右上角即可分享
微信分享提示