【Console Application】外部関数 13【学習記】

いわゆる include よー🤤

Q.
まだ import できないの?
A.
できたけど無いUnresolved扱いのままで混乱中🙄
// build.gradle
dependencies {
	// 他略
	implementation fileTree(dir: 'libs', include: ['*.jar'])
}
// ↓↓
// build.gradle.kts
dependencies {
	// 他略
	implementation(fileTree(mapOf("dir" to "libs", "include" to arrayOf("*.jar"))))
}

→web に散見される記事は build.gradle の implementation の書き方に物凄い惑わしが存在する
→web の記事の大多数は groovy拡張子ktsが付いてない古い方 の build.gradle の書式
→正攻法の jar 化が大正義

#IntelliJ #Kotlin #import
#学習記


JAR

それじゃ、引き続き import 🤤
ええと前回はライブラリを追加したとこでまぁ認識しないよねで終わったとこだから手順に続きがあるかもなのでそれを確認しようかな🤔

【Kotlin】ライブラリの生成と利用方法について解説
https://hirauchi-genta.com/kotlin-library/
mylibraryを使用できるようにするため、app/build.gradleに、mylibraryをimplementationします。

またしてもこのサイト🤤
最初は🙄❓❓❓だったけど前回一度エラーがでなくなるまで修正したやつがあるからそれを書き換えたらイケるかな?🤔

画像1

画像2

画像3

😞デスヨネー

Kotlinで外部ライブラリを使用したい場合はどのようにすればよいでしょうか
https://teratail.com/questions/120150

以前探していた時に何回か見た質問掲示板なんだけれどベストアンサー見ると、これまた他のとこで書かれてた jar をフォルダに纏めてそれを読む方法が手短に書かれてる🤔
というかこれを見る限りだとモジュール設定でライブラリを割り付けてもプロジェクトに取り込んでないと全く用を成さないのかなと感じた🙄

画像4

画像5

とりあえず IDEA を閉じて jar を hello,world 側へ持ってくる…

画像6

プロジェクトを開くと、追加された階層が生えてく自動認識される🤤
なんかちょっと間が有ってから表示されてるからなんか相互関係とか見てるのかな?🤔

画像7

画像8

ライブラリの参照先を書き換えておいてーの🤤
掲示板のスクリプトコピペーの🤪

画像9

🤔❗❗️❗️

今は判るぞこれ🤤
groovy とかいう方の書式なんだと思う🙄
これを kts で書いてるまたは変換をしてる記事を探せばいいのかな?🤔

build.gradle.ktsへの書き換えとハマリポイント part 1
https://qiita.com/chibatching/items/d63c0c9afc8e1e6bc9de
implementation(fileTree(mapOf("dir" to "libs", "include" to arrayOf("*.jar"))))

ちょっとちょっとw
だいぶ式が違うんだけどwwww🤪

画像10

画像11

キターーーーーーー🤪ーーーーーーーーー!!

でも main.kt の import は Unresolved赤い表示 のままなんだけど…🙄
キャッシュ削除再起動しても変わらず…でも実行できる…🙄
まぁ…いいや🤪
(因みに今までも実行を試してたけど動作しなかった)

画像12

何回か起動しなおすと jar の中が展開されて見覚えのある class とかが表示されてるから jar じゃなくてもできそうかな🤤


長かった…

前回までに色々やってみては居たけれど、どうやら

・プロジェクト内で見えるようにする
・build.gradle.kts の dependencies 内に書く implementation で正しくなるパスとライブラリの書き方

の項目が揃っていてようやく使える様になる…のかな🤔
実行できてるのに Unresolved が出るのはソースが取り込まれていないのが原因と思われ🙄
jar を参照ではなくプロジェクトを取り込みしたときのヤツで implementation を正しく書いていたら恐らく実行できて Unresolved も出なくなるのかなと思う🤪


次回は

て事でモジュールのプロジェクトを取り込んで実行できるように書き換えられるか挑もうかな🤤
これができなくても実行できるけど Unresolved が出てて混乱するからできるようになっておいた方が良いのは間違いない🤪

いいなと思ったら応援しよう!