Mavenリリースプラグインを使用してリリースしようとしていますが、SCM設定に問題があります。私はm2eclipseをインストールしたEclipseを使用しています。私たちはMercurialを使い、私のマシン(Win7)にTortoiseHgをインストールしました。私は、瓶を作成するテストプロジェクトを持っています。我々はプロジェクトのためにスーパーポームを利用するので、テストプロジェクトも同様です。私はスーパーポンポンでこれを設定している:私たちは私たちのSCMサーバーへのSSHMaven/Hudson/Mercurialでリリースする
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>my.group</groupId>
<artifactId>TestJar
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>my.group</groupId>
<artifactId>super-pom</artifactId>
<version>1.0</version>
</parent>
<scm>
<connection>
scm:hg:ssh://our.scm.server:22//path/to/TestJarProject
</connection>
<developerConnection>
scm:hg:ssh://our.scm.server:22//path/to/TestJarProject
</developerConnection>
</scm>
</project>
注:
<build>
<plugins>
....
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin
<version>1.6</version>
<configuration>
<connectionType>connection</connectionType>
</configuration>
</plugin>
</plugins>
</build>
私のテストプロジェクトのPOMは、次のようになります。私はこの中で私が遭遇している問題のいくつかを疑う。私はhttpを使っている例しか見つけられませんでした。私がリリースを実行すると
<servers>
...
<server>
<id>our.scm.server</id>
<username>username</username>
<password>password</password>
</server>
</servers>
:リリースの準備:私のsettings.xmlファイルで
が、私はこの追加を実行し、TortoisePlinkダイアログがパスワードの入力を促すポップアップ表示されます。ダイアログボックスは "@ our.scm.serverのパスワード"を尋ねてきます。
サーバコンポーネントを追加することで予想されていたsettings.xmlファイルのユーザ名またはパスワードが使用されていないようです。それはすべきでしょうか?私はまた、接続URLに自分のユーザー名を追加しようとしている:
<connection>
scm:hg:ssh://[email protected]:22//path/to/TestJarProject
</connection>
が、まだ空のユーザー名のパスワードの入力を求めています。
QUESTION ONE
は、誰もが成功しMavenをリリースしながらのMercurialに接続するためにSSHを使用していますか?
私は最終的にはハドソンでビルドを行いたいので
は、私がリリースを行うにはハドソンのジョブを設定するが、それは、このエラーで失敗します。[INFO] o.h.m.e.h.MavenExecutionResultHandler - Build failed with exception(s)
[INFO] o.h.m.e.h.MavenExecutionResultHandler - [1] org.apache.maven.lifecycle.\
LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:\
maven-release-plugin:2.0:prepare (default-cli) on project TestJar: Cannot \
prepare the release because you have local modifications :
[.maven/repo/ca/shaw/eng/nms/nms-super-pom/1.0/_maven.repositories:unknown]
[.maven/repo/ca/shaw/eng/nms/nms-super-pom/1.0/nms-super-pom-1.0.pom:unknown]
[.maven/repo/ca/shaw/eng/nms/nms-super-pom/1.0/nms-super-pom-1.0.pom.sha1:unknown]
... many, many more lines of this nature .....
QUESTION TWO
何ローカルの変更Mavenが出会うのですか?
プロジェクトはリポジトリから取得されているので、私が考えることができる唯一の変更は、pomファイルの更新(バージョンからのスナップショットの削除)です。しかし、Mavenは変更自体を行ったので、これについて不平を言ってはいけません。 khmarbaiseの提案を1として
UPDATE
は、私は私の親POMにこれを追加しました:は誰が正常に接続するためにSSHを使用していONE
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.2.2</version>
</plugin>
</plugins>
</pluginManagement>
まず親のpluginManagementセクションを実行し、少し古くなった2.0を使用しているため、より新しいリリースのmaven-release-pluginを設定してください...どのMavenバージョンを使用していますか?ハドソンは最新ですか?ハドソンのリリースプラグインを使用していますか? – khmarbaise
Hudson 2.1.2とMaven 3(Hudsonにバンドルされています) – sdoca
Hudsonなしでコマンドラインでリリースできるかどうか最初に確認しましたか? (プラグイン管理セクションを追加しましたか?) – khmarbaise