桜技録

🐈🐈🐈🐈🐘

Java

SpotBugsでGeneratedアノテーションがついたクラスやメソッドを除外できるようになる

アノテーション・プロセッサ等のツールで自動生成したコードは静的コード解析の対象から外したいもの。 従来SpotBugsの利用者はパッケージやクラスに関する 除外フィルタ の機能を使ってこれに対応してきた。 <FindBugsFilter> <Match> <Package name="com.example.hoge.gen"/> </Match> <Match> <Class name="~.*Entity"/> </Match> </FindBugsFilter> しかしこの手法では自動生成する成果物…

Gradle+JaCoCoでカバレッジ・レポートから除外したいファイルを指定する

jacocoTestReport { afterEvaluate { classDirectories.setFrom(classDirectories.files.collect { fileTree(dir: it, excludes: ["**/xxx/*", "**/Yyy.class"]) }) } } 前は classDirectories にフィルタしたファイルコレクションを直接代入していたけれどG…

GradleからTomcat Manager Appを操作してwarをデプロイする

Gradleを使ってwarファイルをTomcatにデプロイしたいという場面に於いて、warファイルを$CATALINA_BASE/webappsにコピーする手法をよく見かけるが、それとは異なる手法としてTomcatにデフォルトで入っているManager AppをGradleから使う術を記しておく。 war…

Maven CentralのRepository Writableエラー

Gradle 6.0.1のMaven Publishプラグインを使ってパッケージをMaven Centralへリリースしようとしたところ以下のエラーで失敗してしまった。 Event: Failed: Repository Writable typeId RepositoryWritePolicy failureMessage Artifact updating: Repository…

dbsetup-csv: DbSetupでCSVデータを投入する

Javaのユニットテストにて自動でテストデータをデータベースへ投入する為のツールとしてはDbSetupやDBUnitをしばしば使っている。 ここ数年はコードの中でそのテストケースの確認に必要なデータを明示的に記述できるDbSetupの方を推しているのだが、カラム数…

CDI-UnitでJAX-RS 2.1 (Java EE 8)

まとめ CDI-Unit 4.0.2 (執筆時点最新版) はJAX-RS実装としてRESTEasy 3.0.14に依存 RESTEasy 3.0.14はJAX-RS 2.0 (Java EE 7) の実装 よってJAX-RS 2.1 (Java EE 8) のサービスが動かせないことがある RESTEasyを3.5.0以降に上げることで回避可能 検証 単に…