同一のPOM内で成果物を識別
開発中プロジェクトのpom.xmlにjson-libを追加したら、なぜかjar本体が落ちてこない。versionも正しく書いているはずなのにどうして?と思い、リモートリポジトリを直接覗くと、jarファイルが複数に分かれていました。
json-lib-2.1-jdk13.jar json-lib-2.1-jdk13-javadoc.jar json-lib-2.1-jdk13-sources.jar json-lib-2.1-jdk15.jar json-lib-2.1-jdk15-javadoc.jar json-lib-2.1-jdk15-sources.jar
こういうケースでは、jarを特定するためにclassifier要素が必要なんですね。初めて知りました。
具体的には、例えば以下のように記述します。
<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.1</version> <classifier>jdk15</classifier> </dependency>
でもこの「複数の成果物の存在」って、どうやったら事前に知ることができるんだろう。エラーが出てからリポジトリを覗くしかないってのも変な話だよなあ。