質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JVM

JVM(Java Virtual Machine)があれば、一連のコンピューターソフトウェアプログラムとデータストラクチャが、仮想マシンモデルを使って他のコンピュータプログラムやスクリプトを拡張できます。

IntelliJ IDEA

IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

0回答

510閲覧

Kotlinとgradleを使ってjarファイルを生成して実行ができない

e331

総合スコア1

JVM

JVM(Java Virtual Machine)があれば、一連のコンピューターソフトウェアプログラムとデータストラクチャが、仮想マシンモデルを使って他のコンピュータプログラムやスクリプトを拡張できます。

IntelliJ IDEA

IntelliJ IDEA(インテリジェイ アイディア)は、JetBrains社が開発した、 JavaやScalaなどで利用される統合開発環境です。

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2022/10/02 13:42

前提

KotlinとCompose for Desktopを使ってデスクトップアプリを作りたいです。

イメージ説明
Compose for desktopのテンプレートを使ってプロジェクトを作成し、
https://pleiades.io/help/idea/create-your-first-kotlin-app.html#run-the-jar
を参考にして、jarファイルを生成したのですが、生成したjarファイルを実行するとエラーメッセージが表示されます。

実現したいこと

  • ダブルクリックで実行可能なjarファイルを生成したい

発生している問題・エラーメッセージ

生成したjarファイルを実行すると、

Exception in thread "main" java.lang.ExceptionInInitializerError at androidx.compose.ui.awt.ComposeLayer.<init>(ComposeLayer.desktop.kt:73) at androidx.compose.ui.awt.ComposeWindowDelegate.<init>(ComposeWindowDelegate.desktop.kt:50) at androidx.compose.ui.awt.ComposeWindow.<init>(ComposeWindow.desktop.kt:43) at androidx.compose.ui.awt.ComposeWindow.<init>(ComposeWindow.desktop.kt:40) at androidx.compose.ui.window.Window_desktopKt$Window$3.invoke(Window.desktop.kt:161) at androidx.compose.ui.window.Window_desktopKt$Window$3.invoke(Window.desktop.kt:156) at androidx.compose.ui.window.Window_desktopKt$Window$10$1.invoke(Window.desktop.kt:367) at androidx.compose.ui.window.Window_desktopKt$Window$10$1.invoke(Window.desktop.kt:366) at androidx.compose.ui.window.AwtWindow_desktopKt$AwtWindow$2.invoke(AwtWindow.desktop.kt:76) at androidx.compose.ui.window.AwtWindow_desktopKt$AwtWindow$2.invoke(AwtWindow.desktop.kt:75) at androidx.compose.runtime.DisposableEffectImpl.onRemembered(Effects.kt:81) at androidx.compose.runtime.CompositionImpl$RememberEventDispatcher.dispatchRememberObservers(Composition.kt:801) at androidx.compose.runtime.CompositionImpl.applyChanges(Composition.kt:647) at androidx.compose.runtime.Recomposer.composeInitial$runtime(Recomposer.kt:763) at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:433) at androidx.compose.ui.window.Application_desktopKt$awaitApplication$2$1$2.invokeSuspend(Application.desktop.kt:220) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Caused by: org.jetbrains.skiko.LibraryLoadException: Cannot find skiko-windows-x64.dll.sha256, proper native dependency missing. at org.jetbrains.skiko.Library.findAndLoad(Library.kt:105) at org.jetbrains.skiko.Library.load(Library.kt:59) at org.jetbrains.skiko.SkiaLayer.<clinit>(SkiaLayer.awt.kt:27) ... 31 more

と出て、ウィンドウが表示されない

該当のソースコード

Main.kt

kotlin

1// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. 2import androidx.compose.material.MaterialTheme 3import androidx.compose.desktop.ui.tooling.preview.Preview 4import androidx.compose.material.Button 5import androidx.compose.material.Text 6import androidx.compose.runtime.Composable 7import androidx.compose.runtime.getValue 8import androidx.compose.runtime.mutableStateOf 9import androidx.compose.runtime.remember 10import androidx.compose.runtime.setValue 11import androidx.compose.ui.window.Window 12import androidx.compose.ui.window.application 13 14@Composable 15@Preview 16fun App() { 17 var text by remember { mutableStateOf("Hello, World!") } 18 19 MaterialTheme { 20 Button(onClick = { 21 text = "Hello, Desktop!" 22 }) { 23 Text(text) 24 } 25 } 26} 27 28fun main() = application { 29 Window(onCloseRequest = ::exitApplication) { 30 App() 31 } 32} 33

build.gradle.kts

kotlin

1import org.jetbrains.compose.compose 2import org.jetbrains.compose.desktop.application.dsl.TargetFormat 3import org.jetbrains.kotlin.gradle.tasks.KotlinCompile 4 5plugins { 6 kotlin("jvm") version "1.6.10" 7 id("org.jetbrains.compose") version "1.1.0" 8} 9 10group = "me.e331" 11version = "1.0" 12 13repositories { 14 google() 15 mavenCentral() 16 maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") 17} 18 19dependencies { 20 implementation(compose.desktop.currentOs) 21} 22 23tasks.withType<KotlinCompile> { 24 kotlinOptions.jvmTarget = "11" 25} 26 27compose.desktop { 28 application { 29 mainClass = "MainKt" 30 nativeDistributions { 31 targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) 32 packageName = "untitled5" 33 packageVersion = "1.0.0" 34 } 35 } 36} 37 38tasks.jar { 39 manifest { 40 attributes["Main-Class"] = "MainKt" 41 } 42 configurations["compileClasspath"].forEach { file: File -> 43 from(zipTree(file.absoluteFile)) 44 } 45 duplicatesStrategy = DuplicatesStrategy.INCLUDE 46}

補足情報(FW/ツールのバージョンなど)

OS:Windows11Pro 21H2
JDK:temurin-16
IDE:intellij idea 2022.2.2
Kotlinバージョン:1.6.10
Composeバージョン:1.1.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問