首页 > 其他分享 >不依赖 Spring 的简单 Main 工程

不依赖 Spring 的简单 Main 工程

时间:2023-04-08 23:24:14浏览次数:31  
标签:tasks Spring jar application 依赖 mainClass kotlin Main

1. 搭建一个没有 spring 的工程

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    kotlin("jvm") version "1.8.10"
    application
}

group = "com.demo"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
}

dependencies {
    testImplementation(kotlin("test"))
}

tasks.test {
    useJUnitPlatform()
}

tasks.withType<KotlinCompile> {
    kotlinOptions.jvmTarget = "11"
}

application {
    mainClass.set("MainKt")
}

2. 打包成可执行 jar

tasks.jar {
    manifest {
        attributes["Main-Class"] = application.mainClass
    }
    // To avoid the duplicate handling strategy error
    duplicatesStrategy = DuplicatesStrategy.EXCLUDE

    // To add all of the dependencies
    from(sourceSets.main.get().output)

    dependsOn(configurations.runtimeClasspath)
    from({
        configurations.runtimeClasspath.get().filter { it.name.endsWith("jar") }.map { zipTree(it) }
    })
}

3. 运行

标签:tasks,Spring,jar,application,依赖,mainClass,kotlin,Main
From: https://www.cnblogs.com/jmcui/p/17299513.html

相关文章

  • SpringCloud使用Consul作为配置中心
    Consul提供了一个key/value存储,用于存储配置和其他元数据。SpringCloudConsulConfig是ConfigServer和Client的替代方案。在特殊的“bootstrap”阶段,配置被加载到Spring环境中。默认情况下,配置存储在/config文件夹中。根据应用程序的名称和模拟SpringCloud配置顺序解析财产的......
  • SpringCloud源码学习笔记3——Nacos服务注册源码分析
    系列文章目录和关于我一丶基本概念&Nacos架构1.为什么需要注册中心实现服务治理、服务动态扩容,以及调用时能有负载均衡的效果。如果我们将服务提供方的ip地址配置在服务消费方的配置文件中,当服务提供方实例上线下线,消费方都需要重启服务,导致二者耦合度过高。注册中心就是在......
  • Spring配置和依赖注入
    Spring配置别名<!--如果添加了别名,我们也可以使用其获取到这个对象--><aliasname="user"alias="gg"/>Bean的配置<!--name也是别名,可以取多个--><beanid="userT"class="com.kuang.pojo.UserT"name="userT2u,u1;u2&......
  • Java的jar包依赖版本冲突解决
    参考:https://blog.csdn.net/weixin_38898423/article/details/128178055https://blog.csdn.net/Yal_insist/article/details/127669985一、依赖冲突不同的第三方jar包可能同时对某一个jar包的不同版本含有依赖,但是Maven解析pom.xml文件时,同一个jar包只会保留一个Maven默认处理策略......
  • 迁移学习(SPI)《Semi-Supervised Domain Adaptation by Similarity based Pseudo-label
    论文信息论文标题:Semi-SupervisedDomainAdaptationbySimilaritybasedPseudo-labelInjection论文作者:AbhayRawat, IshaDua, SauravGupta, RahulTallamraju 论文来源:PublishedinECCVWorkshops5September2022论文地址:download 论文代码:download视屏讲解:click......
  • Spring Cloud Consul简介
    SpringCloudConsul通过自动配置和绑定到SpringEnvironment和其他Spring编程模型习惯用法,为SpringBoot应用程序提供Consul集成。通过一些简单的注释,您可以快速启用和配置应用程序中的常见模式,并使用Hashicorp的Consul构建大型分布式系统。提供的模式包括服务发现、分布式配置和......
  • 依赖倒置原则
    依赖倒置原则/***依赖倒置原则(DIP)*TV(打开之前,)就可以控制灯的开关状态*高方法,实现前,必须实现低方法,执行入库前,记录日历*/publicclassdipTest{//定义一个接口:开关publicinterfaceSwitchable{voidturnOn();voidturnOff();}publicst......
  • SpringMVC
    1.MVCMVC:是模型(Model)视图(View)控制器(Controller)的简写,是一种软件设计规范将业务逻辑,数据和显示分离MVC是一种架构模式模型(dao,service):数据模型,提供要展示的数据,包含数据和行为视图(jsp):负责进行数据的展示控制器(servlet):接收用户的请求,委托给模型进行处理1.1SpringMVC框......
  • spring——bean初始化过程解析
         ......
  • springCloud之Consul简介
    Consul是什么Consul是HashiCorp公司推出的开源工具。HashiCorpConsul是一种服务网络解决方案,使团队能够管理服务之间以及跨预处理和多云环境和运行时的安全网络连接。Consul为网络基础设施设备提供服务发现、服务网格、流量管理和自动更新。您可以单独使用这些功能,也可以在单个C......