Springboot + MCerror: в META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports не найдены класJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Springboot + MCerror: в META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports не найдены клас

Сообщение Anonymous »

Я пытаюсь запустить Spring Boot внутри плагина Minecraft. Когда я использую функцию main в IntelliJ для получения и печати объекта, она работает нормально. Однако когда я запускаю приложение из файла JAR на сервере Minecraft, я получаю эту ошибку. я не нашел никакого решения. Мэйби, кто-нибудь из вас может помочь:D
[00:03:31 ERROR]: [org.springframework.boot.SpringApplication] Application run failed
java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports. If you are using a custom packaging, make sure that file is correct.
at org.springframework.util.Assert.notEmpty(Assert.java:381) ~[YourPluginName.jar:?]
at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.getCandidateConfigurations(AutoConfigurationImportSelector.java:182) ~[YourPluginName.jar:?]
at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.getAutoConfigurationEntry(AutoConfigurationImportSelector.java:126) ~[YourPluginName.jar:?]
at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector$AutoConfigurationGroup.process(AutoConfigurationImportSelector.java:430) ~[YourPluginName.jar:?]
at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGrouping.getImports(ConfigurationClassParser.java:813) ~[YourPluginName.jar:?]
at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGroupingHandler.processGroupImports(ConfigurationClassParser.java:743) ~[YourPluginName.jar:?]
at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler.process(ConfigurationClassParser.java:714) ~[YourPluginName.jar:?]
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:183) ~[YourPluginName.jar:?]
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:416) ~[YourPluginName.jar:?]
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:289) ~[YourPluginName.jar:?]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:349) ~[YourPluginName.jar:?]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:118) ~[YourPluginName.jar:?]
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:788) ~[YourPluginName.jar:?]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:606) ~[YourPluginName.jar:?]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[YourPluginName.jar:?]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[YourPluginName.jar:?]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) ~[YourPluginName.jar:?]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[YourPluginName.jar:?]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[YourPluginName.jar:?]
at gg.flyte.template.PluginTemplate.startApplication(PluginTemplate.kt:103) ~[YourPluginName.jar:?]
at gg.flyte.template.PluginTemplate.onEnable(PluginTemplate.kt:61) ~[YourPluginName.jar:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:287) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:188) ~[paper-1.20.4.jar:git-Paper-446]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[paper-1.20.4.jar:git-Paper-446]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_20_R3.CraftServer.enablePlugin(CraftServer.java:639) ~[paper-1.20.4.jar:git-Paper-446]
at org.bukkit.craftbukkit.v1_20_R3.CraftServer.enablePlugins(CraftServer.java:550) ~[paper-1.20.4.jar:git-Paper-446]
at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:671) ~[paper-1.20.4.jar:git-Paper-446]
at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:431) ~[paper-1.20.4.jar:git-Paper-446]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:309) ~[paper-1.20.4.jar:git-Paper-446]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1131) ~[paper-1.20.4.jar:git-Paper-446]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[paper-1.20.4.jar:git-Paper-446]
at java.lang.Thread.run(Thread.java:1623) ~[?:?]
[00:03:31 ERROR]: Error occurred while enabling Paper-Kotlin-Template v1.0.0 (Is it up to date?)
java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports. If you are using a custom packaging, make sure that file is correct.
at org.springframework.util.Assert.notEmpty(Assert.java:381) ~[YourPluginName.jar:?]
at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.getCandidateConfigurations(AutoConfigurationImportSelector.java:182) ~[YourPluginName.jar:?]
at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.getAutoConfigurationEntry(AutoConfigurationImportSelector.java:126) ~[YourPluginName.jar:?]
at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector$AutoConfigurationGroup.process(AutoConfigurationImportSelector.java:430) ~[YourPluginName.jar:?]
at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGrouping.getImports(ConfigurationClassParser.java:813) ~[YourPluginName.jar:?]
at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGroupingHandler.processGroupImports(ConfigurationClassParser.java:743) ~[YourPluginName.jar:?]
at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler.process(ConfigurationClassParser.java:714) ~[YourPluginName.jar:?]
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:183) ~[YourPluginName.jar:?]
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:416) ~[YourPluginName.jar:?]
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:289) ~[YourPluginName.jar:?]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:349) ~[YourPluginName.jar:?]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:118) ~[YourPluginName.jar:?]
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:788) ~[YourPluginName.jar:?]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:606) ~[YourPluginName.jar:?]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[YourPluginName.jar:?]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[YourPluginName.jar:?]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) ~[YourPluginName.jar:?]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[YourPluginName.jar:?]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[YourPluginName.jar:?]
at gg.flyte.template.PluginTemplate.startApplication(PluginTemplate.kt:103) ~[YourPluginName.jar:?]
at gg.flyte.template.PluginTemplate.onEnable(PluginTemplate.kt:61) ~[YourPluginName.jar:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:287) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:188) ~[paper-1.20.4.jar:git-Paper-446]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[paper-1.20.4.jar:git-Paper-446]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_20_R3.CraftServer.enablePlugin(CraftServer.java:639) ~[paper-1.20.4.jar:git-Paper-446]
at org.bukkit.craftbukkit.v1_20_R3.CraftServer.enablePlugins(CraftServer.java:550) ~[paper-1.20.4.jar:git-Paper-446]
at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:671) ~[paper-1.20.4.jar:git-Paper-446]
at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:431) ~[paper-1.20.4.jar:git-Paper-446]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:309) ~[paper-1.20.4.jar:git-Paper-446]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1131) ~[paper-1.20.4.jar:git-Paper-446]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[paper-1.20.4.jar:git-Paper-446]
at java.lang.Thread.run(Thread.java:1623) ~[?:?]

plugins {
kotlin("jvm") version "2.0.20-Beta2"
id("com.github.johnrengelman.shadow") version "8.1.1"

id("org.springframework.boot") version "3.2.2"
id("io.spring.dependency-management") version "1.1.4"
kotlin("plugin.spring") version "1.9.22"
kotlin("plugin.jpa") version "1.9.22"
id("java")
}

group = "mc.plugin"
version = "1.0-SNAPSHOT"

repositories {
mavenCentral()
maven("https://repo.papermc.io/repository/maven-public/") {
name = "papermc-repo"
}
maven("https://oss.sonatype.org/content/groups/public/") {
name = "sonatype"
}
}

dependencies {
implementation("io.papermc.paper:paper-api:1.20.4-R0.1-SNAPSHOT")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
//
implementation("mysql:mysql-connector-java:8.0.33")
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-mustache")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
runtimeOnly("com.h2database:h2")
runtimeOnly("org.springframework.boot:spring-boot-devtools")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}

val targetJavaVersion = 17
kotlin {
jvmToolchain(targetJavaVersion)
}

tasks.build {
dependsOn("shadowJar")
}
tasks.shadowJar {
archiveFileName.set("YourPluginName.jar")
destinationDirectory.set(file("C:/Users/maxth/OneDrive/Desktop/Minecraft/NeuerServer/plugins"))
}

tasks.withType {
manifest {
attributes(
"Main-Class" to "gg.flyte.template.PluginTemplate" // Deine Hauptklasse
)
}
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
// Stelle sicher, dass alle Ressourcen in die JAR-Datei aufgenommen werden
from(configurations.runtimeClasspath.get().filter { it.name.endsWith("jar") }.map { zipTree(it) })
}

springBoot {
mainClass = "gg.flyte.template.PluginTemplate"
}
tasks.bootJar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}

package gg.flyte.template

import AdminGuiCommand
import AdminGuiListener
import BossbarTimeManager
import ChatListener
import ClickPlayerListener
import HomeCommand
import HomeListener
import RealmListener
import RepairCommand
import SpawnListener
import TabListManager
import gg.flyte.template.ClickPlayer.ClickPlayerCommand
import gg.flyte.template.Firework.FireWorkManager
import gg.flyte.template.GernalCommands.DiscordCommand
import gg.flyte.template.GernalCommands.RankCommand
import gg.flyte.template.GernalCommands.SpawnCommand
import gg.flyte.template.GernalCommands.`break`.BreakCommand
import gg.flyte.template.GernalCommands.`break`.BreakLeaveListener
import gg.flyte.template.Money.MoneyCommand
import gg.flyte.template.Money.PayCommand
import gg.flyte.template.Player.DbListener
import gg.flyte.template.Player.DbListenerUpdate
import gg.flyte.template.realm.RandomLocationManager
import gg.flyte.template.realm.commands.BuildCommand
import gg.flyte.template.realm.commands.RealmCommand
import gg.flyte.template.repo.McPlayerService
import gg.flyte.template.scoreboard.ScoreBoardListener
import gg.flyte.template.tablisteManger.TabListListener
import org.bukkit.Bukkit
import org.bukkit.GameRule
import org.bukkit.entity.ArmorStand
import org.bukkit.entity.EntityType
import org.bukkit.event.Listener
import org.bukkit.plugin.java.JavaPlugin
import org.springframework.boot.SpringApplication
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.context.ConfigurableApplicationContext
import org.springframework.context.annotation.ComponentScan
import org.springframework.context.annotation.Configuration

@Configuration
@ComponentScan(basePackages = ["gg.flyte.repo"])
class ServiceConfig
@SpringBootApplication
class PluginTemplate : JavaPlugin() {
private lateinit var springContext: ConfigurableApplicationContext
lateinit var tabListManager: TabListManager
lateinit var breakList: MutableList

companion object {
lateinit var instance: PluginTemplate
}

fun registerEvent(listener: Listener) {
server.pluginManager.registerEvents(listener, instance)
}

override fun onEnable() {
startApplication()
instance = this
tabListManager = TabListManager()
breakList = mutableListOf()

getCommand("rang")?.setExecutor(RankCommand())
getCommand("spawn")?.setExecutor(SpawnCommand())
getCommand("break")?.setExecutor(BreakCommand())
getCommand("discord")?.setExecutor(DiscordCommand())
getCommand("repair")?.setExecutor(RepairCommand())
getCommand("money")?.setExecutor(MoneyCommand())
getCommand("pay")?.setExecutor(PayCommand())
getCommand("home")?.setExecutor(HomeCommand(this))
getCommand("realm")?.setExecutor(RealmCommand())
getCommand("build")?.setExecutor(BuildCommand())
getCommand("adminmenu")?.setExecutor(AdminGuiCommand())
getCommand("click")?.setExecutor(ClickPlayerCommand())
registerEvent(DbListenerUpdate(instance)) // have to be first
registerEvent(RealmListener(instance))
registerEvent(AdminGuiListener(instance))
registerEvent(ChatListener(instance))
registerEvent(BreakLeaveListener(instance))
registerEvent(ScoreBoardListener(instance))
registerEvent(TabListListener(instance))
registerEvent(SpawnListener(instance))
registerEvent(HomeListener(instance))
registerEvent(ClickPlayerListener(instance))
registerEvent(DbListener(instance)) // have to be the last
gameRules()
spawnEntitysOnSpawn()
RandomLocationManager.create10StartRandomLocation()
FireWorkManager().startSunriseSunsetTask()
Bukkit.getServer().consoleSender.sendMessage("§6Server AKTIV")
BossbarTimeManager().startDisplayThread()
}

override fun onDisable() {
removeEntityOnSpawn()
BossbarTimeManager().cancelDisplayThread()
}

private fun startApplication() {
springContext = SpringApplication.run(PluginTemplate::class.java)
}

private fun gameRules() {
val spawn = Bukkit.getWorld("world")
spawn?.setGameRule(GameRule.KEEP_INVENTORY, false)
spawn?.setGameRule(GameRule.DO_FIRE_TICK, false)
spawn!!.setGameRule(GameRule.FALL_DAMAGE, false)
}

private fun spawnEntitysOnSpawn() {
val world = Bukkit.getWorld("world")
val armorStand = world?.spawnEntity(DefaultPlayer.spawnPNG, EntityType.ARMOR_STAND) as ArmorStand
armorStand.isVisible = false
armorStand.customName = "界"
armorStand.isCustomNameVisible = true
}

private fun removeEntityOnSpawn() {
val spawn = Bukkit.getWorld("world")
spawn?.entities?.filter { it.type == EntityType.ARMOR_STAND }?.forEach { it.remove() }
}
}



Подробнее здесь: https://stackoverflow.com/questions/787 ... spring-org
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»