mvn release:prepare を実行しようとすると (もちろん、release:clean の後)、次のエラーが表示されます。
ゴール org.apache.maven.plugins:maven-release-plugin:2.5:prepare (default-cli) の実行に失敗しました ...: POM の書き込みエラー: D:\\pom.xml (アクセスが拒否されました)
原因: java.io.FileNotFoundException: D:...\pom.xml (アクセスが拒否されました)
問題: ファイルは指定された場所にありますが、書き込み禁止になっています (SCM の下にあるため)。すべての pom をチェックインする必要があります。そうしないと、初期段階 (check-poms フェーズ) でエラーが発生します。そのため、pom はチェックイン、つまり書き込み禁止にする必要があるため、「アクセスが拒否されました」という例外が発生し、意味がありません!
Maven ソース scm-plugin および release-plugin をダウンロードした後、何かを見つけようとしましたが、残念ながらこの例外の理由を見つけることができませんでした。多分私は何かが足りないので、ここに投稿します。誰かが光を当てることができるかもしれません。
コードのいくつかのポイントにログを追加しました ( DefaultReleaseManagerで、フェーズを確認できます) 。 maven は私の pom を release に変更し、再度チェックインしようとします。しかし問題は、これらの pom はソース管理下にあるため、読み取り専用であるということです。そのため、プラグインはこれらの pom に書き込むことができないため、「アクセスが拒否されました」というエラーが返されます。
関連するクラス に何かがあるかどうかを確認しようとしましたclass RewritePomsForReleasePhase extends AbstractRewritePomsPhase
が、何も見つかりませんでした。-X で実行しようとしたため、関連する例外が発生しました (以下を参照)。
私はmaven-release-plugin:2.5、maven-scm-plugin:1.9を使用しています。プロバイダーはTFSです(ただし、「プロバイダー」またはscm-プラグイン)
更新:
maven-release-plugin:2.1 で再現しようとしましたが、これは確実に機能することがわかっています (maven-scm:1.4 を使用)。同じエラーが発生します。だから、私の設定の何かが間違っていると思います...助けてくれる専門家がここにいるのでしょうか? たぶん、maven-scm-plugin に関連していますか?
[INFO] Command line - cmd.exe /X /C "tf status -workspace:ohad -recursive -format:detailed $/NNG/PLS/dev/PLS/PLR"
[DEBUG] line -There are no pending changes.
[INFO] err -
[DEBUG] Iterating
[INFO] *** DefaultReleaseManager(): phase name= check-dependency-snapshots
[INFO] Checking dependencies and plugins for snapshots ...
[INFO] *** DefaultReleaseManager(): phase name= create-backup-poms
[INFO] *** DefaultReleaseManager(): phase name= map-release-versions
What is the release version for "referencedata"? (com.ccih:referencedata) ***: : 6.6.0-RELEASE
What is the release version for "referencedata.resolvertool"? ***: : 6.6.0-RELEASE
[INFO] *** DefaultReleaseManager(): phase name= input-variables
[INFO] scmUrl - https://***:$/***
[INFO] Scheme - https
What is SCM release tag or label for "referencedata"? ***: :
[INFO] *** DefaultReleaseManager(): phase name= map-development-versions
What is the new development version for "referencedata"? ***: :
What is the new development version for "referencedata.resolvertool"? ***: :
[INFO] *** DefaultReleaseManager(): phase name= rewrite-poms-for-release
[INFO] Transforming 'referencedata'...
[INFO] scmUrl - https://***:$/***R
[DEBUG] Using mirror nng (http://192.168.244.13:8081/artifactory/nng) for plt-release (http://192.168.244.13:8081/artifactory/plt-release-local).
[DEBUG] Using mirror nng (http://192.168.244.13:8081/artifactory/nng) for plt-snapshot (http://192.168.244.13:8081/artifactory/plt-snapshot-local).
[DEBUG] Extension realms for project com.ccih:ccih-platform-dependencies:pom:6.5.0600.0000: (none)
[DEBUG] Looking up lifecyle mappings for packaging pom from ClassRealm[plexus.core, parent: null]
[DEBUG] No SCM translator found - skipping rewrite
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] referencedata ..................................... FAILURE [2:16.083s]
[INFO] referencedata.resolvertool ........................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2:16.696s
[INFO] Finished at: Thu May 22 15:55:20 IDT 2014
[INFO] Final Memory: 10M/109M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5:prepare (default-cli) on project referencedata: Error writing POM: D:\<correct path>\pom.xml (Access is denied) -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5:prepare (default-cli) on project referencedata:
Error writing POM: D:\Dev\projects\NNG\PLS\dev\PLS\PLR\pom.xml (Access is denied)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error writing POM: D:\Dev\projects\NNG\PLS\dev\PLS\PLR\pom.xml (Access is denied)
at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:281)
at org.apache.maven.plugins.release.PrepareReleaseMojo.execute(PrepareReleaseMojo.java:232)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 19 more
Caused by: org.apache.maven.shared.release.ReleaseExecutionException: Error writing POM: D:\Dev\projects\NNG\PLS\dev\PLS\PLR\pom.xml (Access is denied)
at org.apache.maven.shared.release.phase.AbstractRewritePomsPhase.writePom(AbstractRewritePomsPhase.java:685)
at org.apache.maven.shared.release.phase.AbstractRewritePomsPhase.writePom(AbstractRewritePomsPhase.java:632)
at org.apache.maven.shared.release.phase.AbstractRewritePomsPhase.transformProject(AbstractRewritePomsPhase.java:241)
at org.apache.maven.shared.release.phase.AbstractRewritePomsPhase.transform(AbstractRewritePomsPhase.java:131)
at org.apache.maven.shared.release.phase.AbstractRewritePomsPhase.execute(AbstractRewritePomsPhase.java:116)
at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:236)
at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:169)
at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:146)
at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:107)
at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:277)
... 22 more
Caused by: java.io.FileNotFoundException: D:\Dev\projects\NNG\PLS\dev\PLS\PLR\pom.xml (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:194)
at java.io.FileOutputStream.<init>(FileOutputStream.java:145)
at org.codehaus.plexus.util.xml.XmlStreamWriter.<init>(XmlStreamWriter.java:59)
at org.codehaus.plexus.util.WriterFactory.newXmlWriter(WriterFactory.java:117)
at org.apache.maven.shared.release.phase.AbstractRewritePomsPhase.writePom(AbstractRewritePomsPhase.java:666)
... 31 more