Closed happynow closed 8 months ago
build.gradle
を下記のように修正したら直るかもしれません。
org.slf4j
の依存先が slf4j-api
となっているところを slf4j-simple
に修正します。
これで gradle build
コマンドでビルドしたファイルを実行したところ、私の環境では警告が出なくなりました。
dependencies {
...
- implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.7'
+ implementation group: 'org.slf4j', name: 'slf4j-simple', version: '2.0.7'
testImplementation group: 'org.slf4j', name: 'slf4j-simple', version: '2.0.7'
...
}
この解決方法は stackoverflow の下記のページを参考にしました。 How to solve "No SLF4J providers were found" when the "slf4j-api" and "slf4j-simple" are already imported? https://stackoverflow.com/questions/68105088/#answer-68105131
build.gradle
では archiveFileName
でJarファイル名が指定できます。
jar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
archiveFileName = 'AozoraEpub3.jar' /* JARファイル名を指定 */
manifest {
attributes 'Main-Class': 'AozoraEpub3Applet'
}
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}
P.S. 一気に数多くの issue報告すいません。後、2,3あります。本家のほうにも挙げるつもりです。
gradle build
でコンパイルした実行ファイルで確認したところ、警告メッセージは出なくなりました。
対応ありがとうございました。
ただ、リリース版のビルド手順が分かりませんので、このissueについてはリリース版で改めて確認させて頂きます。
GitHub ActionsでJavaプロジェクトをビルドしています。 https://github.com/kyukyunyorituryo/AozoraEpub3/blob/master/.github/workflows/nightly.yml
参考 https://zenn.dev/kengo_toda/books/a0bd40668b2824cb6772/viewer/7
ご教示ありがとうございます。 https://github.com/kyukyunyorituryo/AozoraEpub3/actions/runs/7854128553 からダウンロードしたビルドファイルで確認しました。警告メッセージは出ませんでした。 クローズさせて頂きます。
前回、確認漏れがありました。これから対応される予定だったかもしれませんが
私はgradleを使っているのでlibフォルダの中身はからでもいいけれど、antを使っているなら更新しないといけない。 gradleからantを呼び出してant.xmlはファイルのコピーにしか使っていない。 eclipseのクラスパス設定では、libフォルダー内を指定してあるかもしれない。
参考 GradleプロジェクトをEclipseにインポート https://camp.trainocate.co.jp/magazine/spring-started-guide-gradle-eclipse/
libフォルダー内のjarファイルを使わないように設定を変えました。jarファイルはgradleから読み込まれます。 https://github.com/kyukyunyorituryo/AozoraEpub3/commit/3fa29d77a35c147e732a1108928efdbb6ae7fcee
https://stackoverflow.com/questions/73358490/generate-eclipse-launch-configurations-with-gradle
Eclipseで右クリックしてGradle→Refresh Gradle Project その後 実行の構成でいままの構成ファイルを削除してから新たに作り直すとgradleのライブラリが自動で使えるようになる。
いろいろご教示有難うございます。私も自分でもう少し調べてみます。 たしかに、手作業で jarやクラスパスを整備してたら、何のために gradle 使ってるか分かりませんよね
度々、すいません。 次のファイルにも古いライブラリの記述がありました。 https://github.com/kyukyunyorituryo/AozoraEpub3/blob/f1b80b3feaf5cce3ed2de20aed9f5d011e50c7b5/src/META-INF/MANIFEST.MF#L1-L4
これは修正するよりも src/META-INF
フォルダごと削除しても良いと思います。
早々のご対応ありがとうございました。
コマンドラインにてAozoraEpub3を実行すると、下記のようなSLF4J関連の警告メッセージが表示されてしまいます。 バージョン 1.1.1b19Q から発生している事象です。ビルドツールを gradle に変えた影響だと思います。