CLOVER🍀

That was when it all began.

Maven

javacの--releaseオプションについて(JEP 247 Compile for Older Platform Versions)

これは、なにをしたくて書いたもの? javacコマンドで、--releaseというオプションがあることを認識していなかったようなので、少し見ておくことにしました。 これは、JEP 247 Compile for Older Platform Versionsというもののようです。 JEP 247 Compile f…

WildFly Maven Pluginで、JDBCドライバのデプロイとDataSourceの作成を行う

これは、なにをしたくて書いたもの? 前にWildFly Maven Pluginを調べた時に、JDBCドライバのデプロイやDataSourceの作成ができそうだったので、試してみたいなと。 JDBCドライバをダウンロードしてきてstandalone/deploymentsディレクトリに置いて…というの…

WildFly Maven Pluginで、WildFlyをプロビジョニングしたり、アプリケーションを含めたりする

これは、なにをしたくて書いたもの? 前に、WildFly Maven Pluginのdevゴールを試してみるエントリーを書きました。 WildFly Maven Pluginのdevゴールで、Jakarta EEアプリケーションの開発を始める - CLOVER 今回は、provisionゴールとpackageゴールを試し…

WildFly Maven Pluginのdevゴールで、Jakarta EEアプリケーションの開発を始める

これは、なにをしたくて書いたもの? Jakarta EEアプリケーションを開発する時に、WildFly Maven Pluginのdevゴールを使ったりすると楽そうだなと思ったので、ちょっと 試してみることにしました。 同じような発想でWildFly Bootable JARを試したことはあり…

Apache Mavenで、依存関係からワイルドカードでexcludeする

前のエントリーで、依存関係からアーティファクトの一部をartifactIdに*を指定することでまるごとexcludeしていました。 <dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-server-testdriver-core</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.infinispan</groupId> <artifactId>infinispan-server-runtime</artifactid></exclusion></exclusions></dependency>

WildFly 25+Codehaus Cargo Maven 3 Pluginでインテグレーションテスト

これは、なにをしたくて書いたもの? 前にWildFlyとArquillianを使ったエントリを書いたのですが。 WildFly 25+Arquillian+JUnit 5でインテグレーションテスト(Managed/Remote/Bootable JAR) - CLOVER Codehaus Cargoを使ったインテグレーションテスト…

Maven Shade PluginのResource Transformerをちゃんと見る

これは、なにをしたくて書いたもの? Maven Shade Pluginを使うと、依存関係を含めたアーティファクトをUber JARにパッケージングすることができます。 で、設定する時にResource Transformerをなんとなく使っていたので、今回ちゃんと見てみようかなぁとい…

Licenses Maven Pluginで、依存ライブラリのライセンスを確認する

これは、なにをしたくて書いたもの? Mavenプロジェクトで、依存ライブラリのライセンスを調べるにはどうしたらいいのかな?ということで調べてみたら、 Licenses Maven Pluginというものが使えそうだったので、試してみることにしました。 Licenses Maven P…

OWASP Dependency-Check Maven Pluginで、依存ライブラリの脆弱性情報を確認する

これは、なにをしたくて書いたもの? OWASP Dependency-Check Maven Pluginという、依存ライブラリの脆弱性情報を確認できるプラグインがあるということを知りまして。 dependency-check-maven – Usage ちょっと、こちらを試してみようかなと。 OWASP Depend…

Apache MavenでリポジトリのMirrorを設定する

前に、ちょっとしたことからApache MavenでリポジトリのMirrorを設定できることを知ったので、メモ。 Mirror? 詳細は、こちらを。 Maven – Guide to Mirror Settings $HOME/.m2/settings.xmlに書くもので、リポジトリのMirrorを定義できるようです。 どうい…

OKD/Minishift上で、マルチモジュール構成のMavenプロジェクトをデプロイする

これは、なにをしたくて書いたもの? JavaアプリケーションをMavenのマルチモジュール構成で作った時に、「どうやってデプロイするんだっけ?」と思ったので S2Iビルドする時に、なにか設定とかがいるのではと思って調べてみようと というわけで、OKD/Minis…

Sonatype Nexus 3/2で、REST API+Groovyスクリプトを使ってリポジトリを作る

これは、なにをしたくて書いたもの? Sonatype Nexusを使ってリポジトリを作るのに、Web Consoleにログインして作るのが面倒だなーと思って他の方法は?と できれば、Sonatype Nexus 3と2、それぞれで知りたい REST APIと、スクリプトが使えるらしい 試して…

Maven Central RepositoryをREST API(Apache Solr)で検索する

Maven Central Repositoryに検索のAPIがあるのはなんとなく把握していたのですが、これまで使ったことがなかったので ちょっと試してみようかと思いまして。APIについてのドキュメントは、こちら。API GuideSearch API Reference(PDF)Bookmarkable URLsと…

Maven Wrapper(mvnw)を使って、Maven未インストール環境でもMavenを使えるようにする

使われているのはけっこう見てきているのですが、いい加減に自分でも使ってみようかと思い、Maven Wrapperを試して みることにしました。Maven Wrapperは、Gradle Wrapperにインスパイアされたものらしいです。第62章 GradleラッパーGradle Wrapperなら「gra…

OpenCloverでカバレッジを取得する(Maven Simple Project編)

2017年の春に、Atlassian Cloverというカバレッジを取得するツールがOSSになりました。Atlassian Clover がオープンソースに | Atlassian BlogsOpenClover - Java, Groovy and AspectJ code coverage toolということで、ちょっと試してみようかと。 お題 と…

OpenCloverでカバレッジを取得する(Maven Multi Project編)

先ほど、OpenCloverを使ってMavenのシンプルなプロジェクト構成でカバレッジを取るエントリを書きました。OpenCloverでカバレッジを取得する(Maven Simple Project編) - CLOVER今度は、マルチプロジェクト構成でのカバレッジ取得を行いたいと思います。 シ…

Nexus 3向けにMavenのローカルリポジトリのファイルをリモートリポジトリにデプロイするスクリプトを書く

最近、MavenのRepositoryとしてSonatype Nexus 3を使っているのですが、2の頃と違ってリポジトリの構成がファイルシステム そのものではなくて、バイナリな感じになりましたね?これにより、Maven Centralに置いていないようなライブラリは、Nexusに個別にde…

Versions Maven Pluginで、プロジェクトのバージョンを変更する

Mavenで、プロジェクトのバージョン自体はpom.xmlのproject.versionに書くわけですが、このバージョン番号を 更新する時ってどうするんでしょう?特に、マルチプロジェクト構成にしたりしていると、ひとつひとつを変えていくのは面倒ですよね。よく見かける…

「mvn verify」や「mvn package」でSourceとJavadocのJARファイルを生成する

Maven Release Pluginではなく、単純に「mvn verify」や「mvn package」でSourceやJavadocのJARも生成したい場合。それぞれ、Maven Source PluginとMaven Javadoc Pluginを使えばOKみたいです。Apache Maven Source Plugin – IntroductionApache Maven Javad…

sbtとMavenで、実行可能JARファイルの先頭に起動スクリプトを差し込む

sbt-assemblyやMaven Shade Pluginなどで実行可能なJARファイル(java -jar xxxxx.jar)を作成することが できますが、このJARファイルの最初の方にシェルスクリプトやWindowsのバッチファイルの内容を差し込むことで、 単体のファイルとして実行することが…

docker-maven-pluginで、Integration Test時にDockerコンテナの起動/停止をする

Docker+Mavenで、テスト時にDockerコンテナを起動してテストして…みたいなことを、そういえばやったことが ないなぁと思いまして。いつも、わりかしふつうにdocker runしてます。で、MavenでDockerを使うプラグインの情報をなんか見たことがあったので、軽…

Sonatype Nexus 3で、Third PartyのMavenアーティファクトをアップロードする(+リポジトリについて少し)

Sonatype Nexusですが、バージョン 2の頃はNexus上でアーティファクトのアップロードができていたようですが、Using the User Interface (Nexus 2)Uploading Components (Nexus 2)バージョン 3では、どうもこれができなさそうな感じです。 ※2系の頃に「Using…

Sonatype Nexus 3を使用して、PrivateなMavenリポジトリ、npm Registry、Docker Registryを構築する

Sonatype Nexusが、OSS版でもバージョン3からDocker Registryになれると聞き、「これは!」と思い 自分でも試してみようかと。News and Notes from the makers of Nexus | Sonatype BlogNews and Notes from the makers of Nexus | Sonatype BlogNexus Repos…

MavenでScalaを使う時の、個人的pom.xmlテンプレート

Scalaでコードを書く時のビルドツールはたいていsbtを使うわけですが、Java EE関係のものを扱う時にはMavenの方が都合がいいことも多いので、1度MavenでScalaを扱う時の設定をメモっておきます。個人的なテンプレートといった感じで。 pom.xmlを書いてみる M…

Mavenでの依存ライブラリの最新バージョンを表示、更新したりできるVersions Maven Plugin

JJUG CCC 2016 Springの「Spring Boot で Boot した後に作る Web アプリケーション基盤」というセッションで、Versions Maven Pluginというものがあることを知りました。Spring Boot で Boot した後に作る Web アプリケーション基盤/spring-boot-application…

Sonatype Nexusを使用して、ローカルMaven/npmリポジトリを構築する

追記) Nexus 3を使って、Docker Registryも含めたエントリを書きました。 Sonatype Nexus 3を使用して、PrivateなMavenリポジトリ、npm Registry、Docker Registryを構築する - CLOVER 今まで、自分のローカルMavenリポジトリはApacheを使って単にWebアクセ…

Maven 3で、コンパイルするソースのバージョンをとりあえず簡単に指定したい場合

非常によく忘れるので、メモ。MavenでJavaをコンパイルする時のバージョンを指定する時には、maven-compiler-pluginを使うものですが <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>17</source> <target>17</target> </configuration> </plugin> Maven 3系だともっと簡…

マルチプロジェクト構成のMavenプロジェクトで、特定のサブプロジェクトのゴールを実行する

Mavenでのマルチプロジェクト構成に慣れていないので、いざ使ってちょっと調べてみたことをメモ。例えば、以下のようなプロジェクト構成の場合に、 pom.xml (parent) sub-1/pom.xml sub-2/pom.xml sub-3/pom.xml sub-2のみのtestを実行したいという場合。…

pom.xmlから、Ensimeの設定ファイルを作る

このところ、Spring Bootなどで遊んでいると、Scalaを使っているにも関わらずMavenを使うような事態になります。 ※極めて、個人の趣向ですで、自分はScalaコードを書く時はEmacs+Ensime+sbtなのですが、Mavenにしてしまうとこの組み合わせが使えません。こ…

maven-surefire-plugin、maven-exec-pluginでJavaVM引数を与えることを考える

ちょっとあるコードをデバッグしていて、方法がわからなかったので調べてみました。サンプルとして、こんなコードを用意します。 src/main/java/App.java public class App { public static void main(String... args) { new App().add(2, 3); } public int …