TL;DR
- ローカルの
Java
バージョンを16
から1.8
に変更することで成功するようになった
本文
当該のgradlew
はバージョン6.x
で生成されたもので、これはJava 16
には対応していません。
gradlew
の再生成ができない状況だったため、ローカルのJava
バージョンを1.8
に落とすことで対処しました。
Java
バージョンを16
から1.8
に変更することで成功するようになった当該のgradlew
はバージョン6.x
で生成されたもので、これはJava 16
には対応していません。
gradlew
の再生成ができない状況だったため、ローカルのJava
バージョンを1.8
に落とすことで対処しました。
今まではIntellij IDEA Ultimate
の無料トライアルはアカウント登録も不要な完全無償で行えていました。
このため、ライセンス発行までどうしても時間がかかる場合なんかには無料トライアルで済ませることができていました。
一方、今日見た所アカウント登録が必須になっているように見えました(アカウントを新しく作ってまで確認するのは面倒だったのでやっていません)。
恐らく他のJetBrains
製IDE
でも同様の状況になったものと思われます。
昔の仕様を悪用すればライセンス期間を無理やり伸ばすようなことができていましたし、JetBrains
の収益的にはこちらの方が絶対にいいとは思います。
ただ、ライセンス発行が会社の手続き待ちになったり、オープンソース開発用ライセンス発行を待つような状況で無料トライアルを利用しにくくなるのは不便だなあと思いました。
余談ですが、自分はオープンソース開発用ライセンスの発行とライセンス購入時期が被ったせいで無料ライセンスがほぼ無駄になった悲しい過去が有ります。
この辺もう少し融通が利くようにして欲しいなあ……。
Chrome
で開き、開発者ツールでbackground
を設定することで、背景色を変えてプレビューできる
body
、無ければ一番外側の要素が安定Chrome
に限らず、開発者ツールから内容を書き換えられるなら別ブラウザでも同等の確認が可能画像や動画などで透過有りの内容を確認するとき、プレイヤーなどの背景が真っ黒で、黒で塗りつぶされているのか透過しているのか分からない場合が有ります。
そのような場合に、プラットフォームを問わずにそれらを確認する方法として、Chrome
とその開発者ツールを使った方法を紹介します。
下記のサイトから画像をお借りしてやり方を紹介します。
まず画像ファイルをChrome
で開き、そのタブでF12
キーを押して開発者ツールを開きます(画像では見やすさのためウィンドウサイズを変更しています)。
次に、elements
タブでHTML
を表示し、body
要素にカーソルを合わせ、クリックします。
最後に、Styles
タブからCSS
のbackground
要素のカラーコードをダブルクリックし、適当な値に変更することで、背景色が変更できます。
画像では#0e0e0e
からaqua
に変更しています。
見た目通りかもしれませんが、この画像は背景が変化していないため、透過が無効になっていることが分かります。
また、小さい四角で色のプレビューが表示されていますが、これをクリックすることでカラーパレットを開くことができ、手動でさまざまな色を設定することができます。
変更はリアルタイムで反映されるため、透過の確認に便利です。
ここまで紹介した内容は、同等の機能を持ったブラウザであればどれでも利用できます。
今回の例ではbackground
プロパティが最初から存在していましたが、これが無い場合もあります。
その時は、ここまで紹介した画像でいうelement.style
をクリックし、background
プロパティを追加することで対応できます(画像の通り、途中まで入力すれば補完が効きます)。
書き換え対象をbody
として紹介したのは、画像や動画をいくつかプレビューしてみた限りでは、ここを書き換えれば背景色を適切に書き換えることができたためです。
ただし、SVG
ファイルのようにbody
でラップされていない状態になるものや、body
では背景を書き換えられない内容もあり得るため、その場合は適切な要素の背景を書き換える必要があります(body
が無い場合、まず一番外側の要素から書き換えを試すと良さそうです)。
また、Chrome
でプレビューできないメディアの場合、残念ながらこの方法は使えません。
DbUnit
等の不具合ではなかったと思われるSpringDbUnit
でテストを作成していた所、DatabaseSetup
アノテーションに設定したファイルがjava.lang.IllegalArgumentException: Unable to load dataset from "${ファイル名}" using class com.github.springtestdbunit.dataset.FlatXmlDataSetLoader
という内容のエラーになり、読み込めない問題が発生しました。
このエラーは「ファイルが読み込めない」という内容で、基本的には入力のtypo等で発生する問題です。
一方、自分の遭遇した状況では、アノテーションに設定するファイル名やファイルパスをいくら直して確認しても解決しませんでした。
また、他のテストでは同じ文法で書いていて、特に問題が発生していない状態でした。
一旦はtypo
や制御文字が入り込んだことを想定し、diffを取りながら動作確認を行いました。
それでも解決しなかったため、別ディレクトリに配置して実行する検証を行った所、特定ディレクトリに配置した場合に再現することが確認できました。
そこで、一旦ファイルを退避した上でディレクトリを再度追加して実行した所、成功するようになりました。
なお、この変更の前後でgit
のdiffは出ていませんでした。
この問題は、mac
環境で、Intellij IDEA
から全てのファイル・ディレクトリ操作を行っている間に発生しました。
ここで紹介する方法は正規の更新手段でなく、設定ファイルに変更が入っていたりすると動かなくなることも考えられるため、実行は自己責任でお願いします。
自分のMac
環境で、Docker Desktop
からDownload Update
を押しても実行が上手く行かず、更新できない状態になりました。
そこで、以下の手順で更新を行いました。
Docker Desktop
をQuit
dmg
ファイルをダウンロードこの方法でも、設定やコンテナはそのままになっていました。
ただし、ここで紹介した方法は正規の更新手段でなく、設定ファイルに変更が入っていたりすると動かなくなることも考えられるため、実行は自己責任でお願いします。
DB
跨ぎの外部キーが絡む状態でDatabseSetup
すると、外部キーの元になるinsert
がコミットされずにデッドロックが発生する
Caused by: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction
になるタイトル通り、DB
跨ぎの外部キーが絡む状態でDatabseSetup
した所、外部キーの元になるinsert
がコミットされずにデッドロックが発生する状態になりました。
色々調べましたが、DbUnit
側でこれに対応する方法は提供されていないように見えました。
そのため、テストでは外部キー制約を切ることでこの問題に対処しました(外部キー制約によるテストデータ作成の手間を軽減する意図も有りました)。
外部キー制約の切り方は別の記事にまとめてあります。
KmValueParameter.type
は実際の所non-null
だが、定義上nullable
になっている
KmValueParameter.type
がnon-null
ならKmValueParameter.type
はnull
」というような記述になっている0.3.0
時点の話使っていて疑問を感じたので質問を投げてみた所、ライブラリ側のミスだったみたいでした。