原因はディスク領域が空いてなさ過ぎてフォルダも作れないこと。 不要なファイルを消して空き領域を増やすと直った。
参考:
@Accessors(fluent=true)が使いたくて@Accessorsを使っていたが よく見たらexperimentalパッケージの下にある。
以下によるとexperimentalの機能はあまりテストされてなかったり、不具合修正が遅かったり消えることがあったりするらしい。
さすがにそんな機能を使うのは恐いので@Accessorsを使うのは断念した。残念。。
調べた範囲だと、JUnit5だと以下のように書くのが一番良さそうだった。
Exception exception = assertThrows(NumberFormatException.class, () -> { Integer.parseInt("1a"); });
throwされた例外の中もassertできるし、try catchを書かなくて良いし、これいいね。
参考:
複数のInterfaceを実装しているクラスを型引数として使いたい場合は以下のように型を&でつなげる。
<T extends ClassA & InterfaceB>
クラス定義の時はカンマ区切りなのにここでは&なのか。。
参考:
メッセージからはクラス定義が無いことが原因のように見えるが、クラスを定義するコードはある。。 原因はstaticフィールドの初期化コードの中で例外をthrowしていることだった。 以下のようなコードでMyClassのコンストラクタで例外をthrowしているとNoClassDefFoundErrorになる。
private static final MyClass val = new MyClass();
static {} の中でthrowしても同様。
以下のようにスイッチロールしたアカウント・ロール名・表示名を含むURLを作ってそこにアクセスするとスイッチロールの画面がそれらを入力した状態で表示される。
対して手間が省けるわけじゃないけど、デプロイ手順を少しでも省力化してデプロイミスのリスクを減らすにはいいかも。。
参考:
yamlの値が文字列の場合、以下のようにダブルクォートで囲っても囲まなくても両方文字列と見なされる。
item_a: item_b: test item_c: "test"
以下によると基本ダブルクォートで囲まない方が良いけど、"10"のように囲むことで結果が変わる場合は必要に応じて囲めば良いみたい。 気をつけないといけないのはyes, noはダブルクォートで囲まないとtrue, falseと見なされるというところ。これは罠だ。。