Привет, это мой первый вопрос! Я пытаюсь построить автономный котлин - Compose - Spring App. Мой клиент запросил это приложение для Windows, поэтому я хотел бы создать установщик, который включает в себя время выполнения Java (у моего клиента его нет, и он хочет, чтобы он запустился сам по себе). < /P>
the Проблема в том, что я не могу понять это правильно с JPackage. Вот как выглядит моя градл, включая команду JPackage, которую я использую: < /p>
Привет, это мой первый вопрос! Я пытаюсь построить автономный котлин - Compose - Spring App. Мой клиент запросил это приложение для Windows, поэтому я хотел бы создать установщик, который включает в себя время выполнения Java (у моего клиента его нет, и он хочет, чтобы он запустился сам по себе). < /P> the Проблема в том, что я не могу понять это правильно с JPackage. Вот как выглядит моя градл, включая команду JPackage, которую я использую: < /p> [code]plugins { kotlin("jvm") version "1.9.10" kotlin("plugin.spring") version "1.9.10" id("org.springframework.boot") version "3.4.1" id("io.spring.dependency-management") version "1.1.7" kotlin("plugin.jpa") version "1.9.10"
// compose id("org.jetbrains.compose") version "1.5.10"
// kotlin - spring // id("kotlin") version "1.9.10" // id("kotlin-spring") version "1.9.10" }
group = "com.tfra" var appName = "MechanicManagement" version = "0.0.1"
// Aggiunge le dipendenze al JAR doFirst { // Elimina eventuali duplicati duplicatesStrategy = DuplicatesStrategy.EXCLUDE }
// Aggiunge tutte le dipendenze del classpath al JAR from({ configurations.runtimeClasspath.get().filter { it.exists() }.map { if (it.isDirectory) it else zipTree(it) } }) }
tasks.register("generateRuntimeImage") { group = "build" description = "Generates a custom runtime image"
val runtimeDir = layout.buildDirectory.dir("my-runtime").get().asFile
doFirst { if (runtimeDir.exists()) { runtimeDir.deleteRecursively() // Cancella la directory esistente } }
tasks.register("createInstaller") { group = "distribution" description = "Creates a native installer for the application"
dependsOn("bootJar") // Assicura che bootJar venga eseguito prima // dependsOn("jar")
val outputDir = layout.buildDirectory.dir("installer").get().asFile.absolutePath val jarPath = layout.buildDirectory.file("libs/${appName}-${version}.jar").get().asFile.absolutePath
< /code> Это мой класс приложений Kotlin, MechanicManagementApplication.kt: < /p> @SpringBootApplication @EnableJpaRepositories(basePackages = ["com.tfra.mechanic_management.repository.jpa"]) @EntityScan(basePackages = ["com.tfra.mechanic_management.repository.entity"]) @ComponentScan(basePackages = ["com.tfra"]) //@SpringBootApplication(exclude = [DataSourceAutoConfiguration::class]) class MechanicManagementApplication
fun main(args: Array) { // val context = runApplication() // application { // AppUI(context) // } val context = runApplication(*args)
application { Window( onCloseRequest = ::exitApplication, title = "Mechanic Management" ) { MaterialTheme { // Fornisce il tema di Material Design AppUI(context) } } } } < /code> Когда я запускаю сгенерированную JAR или EXE из установщика (который также должен выполнить в песочнице Windows, потому что в противном случае он не будет выполняться, и мне придется завершить, используя диспетчер задач ), Я получаю следующее: < /p> Error: Could not find or load main class com.tfra.mechanic_management.MechanicManagementApplicationKt Caused by: java.lang.ClassNotFoundException: com.tfra.mechanic_management.MechanicManagementApplicationKt
Привет, это мой первый вопрос! Я пытаюсь построить автономный котлин - Compose - Spring App. Мой клиент запросил это приложение для Windows, поэтому я хотел бы создать установщик, который включает в себя время выполнения Java (у моего клиента его...
Я запускаю проект Gateling на gradle.
Использую Java 1.11 , (openjdk)
Gradle 6.8 ,
Scala >2.12.8 ,
buidl.gradle:
plugins {
id com.github.lkishalmi.gatling version 3.3.4
}
Я создал в своей системе основную папку Java. Я использую VS Code в качестве IDE и установил различные расширения, включая Code Runner. Любой исходный файл с расширением .java, который я создаю, находится непосредственно в основной папке. Он...