Maven 3 で SCP で deploy-file するのが面倒
既存の jar をリモートの Maven リポジトリにつっこむときには deploy:deploy-file を使います(Maven - Guide to deploying 3rd party JARs to remote repository)。引数の url でリモートリポジトリの URL を指定するのですが、SCP などを使った場合の Maven 2 から Maven 3 で変わってしまったようです。その一例がこちら。
挙動が変わったと言いましたが、具体的にどうなったかというと、デプロイできなくなってしまいました。解決策として wagon-scp を POM に書き足せと言われているのですが、今やりたいのは POM を書かずに deploy-file でデプロイすることなので、答になってません。これはスレッドの最後にも書かれてます。
じゃぁどうするか、というと、仕方なく POM を書いて、deploy-file で -DpomFile を指定するしかなさそうです。
<?xml version="1.0"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>hoge.fuga</groupId> <artifactId>piyo</artifactId> <version>1.0.0</version> <build> <extensions> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-ssh</artifactId> <version>1.0-beta-6</version> </extension> </extensions> </build> </project>
デプロイする POM にこの build がくっついちゃうのがとても気持ち悪いんだけど、なんとかなるといいなぁ。