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

いわゆる include よー🤤

Q.
それで、 import できたの?
A.
何とか、 import できたよ☺️

→ Gradle の task で出力される SNAPSHOT でもアーティファクトでも取り込んだ側のビルドには関係がない
→ jar 由来の関数を Unresolved reference にならないようにする方法は相変わらず不明

#IntelliJ #Kotlin #import
#artifacts #snapshot
#学習記


湧き上がる懸念点

それじゃ、ビルドできない import 無限回廊の続きよー🤪

いやはや、仕事じゃなくて良かった…😞
仕事だったら原因不明の修正できない不具合発生でプロジェクト頓挫だわ🙄
(ビルドできてないのでそれ以前の問題ww)

どうでもいい前置きはいいとして…🤪
前回記事を書き終えた後に気になった事が出てきてチョロっと調べたんだけどそれのせいかも?

気になったというのは…

https://note.com/sayka/n/n9666b889ce48

アーティファクトって何?

って事🙄
初期に helloWorld の JAR を作った時は gradle の tasks から jar の生成でやっていて "SNAPSHOT" という語が追加された JAR が出力されていたのよね🤔

画像1

で、このライブラリのビルドでも gradle ツールから jar 出力すると SNAPSHOT と付いた JAR が出来上がる🤔
アーティファクトのは指定した記憶のない階層out(多分自動生成のどこかに書かれてる)が作られてそこに出力されている🤔

もしかして
SNAPSHOT
の方を使うべきでは?


アーティファクトとは?

アーティファクトを操作する
https://pleiades.io/help/idea/working-with-artifacts.html

これを見ると xcode における framework や bundle のような存在…かな?🤔
android に使う AAR というのがあるけど、丁度(framework,bundle と)似た関係なのかなと思う…多分🤪

Intellij IDEAで実行可能なjarを作る方法
https://qiita.com/nwtgck/items/7a61c5bb9d5b2d266cfe

しかしこれを見ていると「アーティファクトは所謂いわゆるリリースビルド?🤔」みたいな感じがしてくるのよね🙄
ライブラリ軍なのであればアーティファクトの状態でも使える気がするんだけど実際は取り込んでビルドできない😞
ただ、テストで呼び出す事はできる…🤔

SNAPSHOT 試す前にこのアーティファクト出力を取り込んで使う方法が出てないか調べてみようかな🤤

………

作る方法は出てくるけど使う方法が出てこない🤪
語が入ってるからこの記事も程なくして汚染記事の仲間入りかな…😞

………

なんで出てこないの…😞
とりあえず設定見てみるしかないね🙄

画像2

どうやらモジュール設定にあるアーティファクトは「出力設定」っぽい😞
出力しちゃえばアプリだろうがライブラリだろうが関係ないよって話なんだろうかね🙄


SNAPSHOT

SNAPSHOT をリビルドして、それをリネームして取り込んでみようの巻🤤

画像3

あれ?せんせー、 IntelliJ にクリーン掃除って無いんのん?🤪

画像4

Tasks の中にあるやつかな?👇ポチっとな

画像5

ヨシ👈🤪

画像6

それじゃアーティファクト側も…🤤

何も起きない🙄
まぁいいや🤪💥ガッ!🤛

画像7

画像8

リネームしてキャッシュ削除してプロジェクトオープン🤤
IntelliJ はこのインデックス作成がやたら長い😞

画像9

😞😞😞デスヨネー

とりあえず jar タスク走らせてみようね…😞

画像10

🤔🤔🤔なんか通ったゾ❗️

画像11

🤪🤪🤪なんか動いたゾ❗❗️

え?じゃぁアーティファクトに取り替えてもう一回🤤
(この時さっきのクリーンが有効で jar が消えている事に気付くw)

画像12

全然問題なし…以前 jar のタスクでエラー出てたのは一体…🙄


アーティファクト出力

で、調子に乗って helloWorld のアーティファクトを出そうと思ったんだけど

画像13

アーティファクトが無効😞
ライブラリの方は最初から jar にするのが判ってるから設定されてる、とかなのかな🤤
因みにビルドは相変わらず Unresolved reference が出ていて完了しない模様🙄

画像14

まぁ、設定するのは凄い簡単みたいだからとりあえず設定してみた🤤
ここまであれこれ調べてて多分こうだよねって操作だけど検索機能とか付いてるのでここで迷うのは多分殆ど無いと思う🤔

画像15

画像16

🙄🙄🙄

説明は ちゃんと読もう🤪

画像17

画像18

画像19

画像20

あれ?これだとさっきと変わってない…何か他に設定があるのかな…?🤔

………

IntelliJからjarを正しく作成する方法
https://www.webdevqa.jp.net/ja/java/intellij%E3%81%8B%E3%82%89jar%E3%82%92%E6%AD%A3%E3%81%97%E3%81%8F%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/967305304/
マニフェストディレクトリを変更する必要があります。
「Java」を「resources」に置き換えます。

🙄🙄🙄

なんでこんな嫌がらせみたいな事になってんのこれ?😞

画像21

ここか🤔
ここが resources になってるときとなってない時が有るみたいでよく見ないとならないっぽい🙄

画像22

🙄🙄🙄

SNAPSHOT 動くからもういいや🤪


次回は

今度こそ argv を…🤤

この記事が気に入ったらサポートをしてみませんか?