[java] java.lang.VerifyError: class org.apache.log4j.bridge.LogEventAdapter overrides final method getTimeStamp.

下記のようなエラー

log4j 1系と2系をbrideで利用している場合は、log4j:log4j が含まれていないか確認。

org.apache.logging.log4j:log4j-1.2-api で用意されたクラスを上書きされてしまってます。

log4j:log4j を含んでるライブラリがある場合は、
maven pom.xml なら exclusions で除いてあげる。

ちなみに、以下のようなコードで落ちるはず




[python + github workflow] ModuleNotFoundError: No module named エラー

github Actions で、自動試験を workflow で記載してる時にModuleNotFoundError: No module named でなかなか前に進めなかった時の備忘録。

ちょっとディレクリ構成が複雑で

project がソースディレクトリで、others には自動試験には不要な試験が。
また、testsの中では、tests内部で参照される unit_utils.pyがあって。
あと、ソース内では、設定ファイルが本番と試験で参照箇所が違っていて、ソース内部からは相対パスで見てます。

なので、target ディレクトリ

とすると、ModuleNotFoundError が出る。さらに、unit_utils.py もうまく参照できない。

とありあえず正解は、

Set env で、 PYTHONPATH に srcディレクトリを追加。(cd で後で移動するので一つ上の階層)
試験実行時には、tests ディレクトリに移動。これにより、othersにある試験を無視。
poetry run python -m pytest で実行する。