首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >maven-版本插件:2.5:准备失败与“错误写入POM:(访问被拒绝)”

maven-版本插件:2.5:准备失败与“错误写入POM:(访问被拒绝)”
EN

Stack Overflow用户
提问于 2014-05-22 14:08:11
回答 1查看 1.4K关注 0票数 0

我尝试运行mvn发行版:准备(当然,在发布后:clean),我得到了一个错误:

org.apache.maven.plugins:maven-release-plugin:2.5:prepare (默认-cli).:错误写入POM: D:\pom.xml (访问被拒绝)

由: java.io.FileNotFoundException: D:...\pom.xml (访问被拒绝)引起

问题:该文件位于指定的位置,但它是写保护的(因为它在SCM下)。所有的poms必须签入,否则在早期阶段(签入阶段)会出现错误。因此pom必须签入,即写保护,因此我得到“访问拒绝”异常,这是没有任何意义的!

在下载了maven源代码( scm-plugin和release)之后,我试图找到一些东西,但不幸的是,我找不到出现这种异常的原因。也许我漏掉了什么东西,所以我把它发到这里,也许有人能给我一些启示。

我在代码中的几个点添加了日志(在DefaultReleaseManager中,这样我就可以看到阶段),重新构建,并且我看到它在名为'rewrite-poms-for-release',的阶段上失败,在这个阶段,maven试图将我的poms转换成发行版,并再次签入它们。但问题是,这些吊杆是在源代码控制下,所以它们是只读的。所以插件不能写到这些标签上,所以它返回错误“拒绝访问”。

试图查看相关类class RewritePomsForReleasePhase extends AbstractRewritePomsPhase中是否有什么东西,但什么也没有发现。尝试用-X运行它,所以我得到了相关的异常(参见下面)。

我使用maven-release:2.5,maven-scm-plugin:1.9,提供程序是TFS (但我不知道它与我的错误有什么关系,因为它不会在' provider‘或scm-plugin中失败)。

更新

只是尝试用maven-release:2.1进行复制,我知道它确实有效(使用maven-scm:1.4)。我也会犯同样的错误。所以我想我的配置是不正确的.也许这里有专家能帮上忙?也许它与maven-scm插件有关?

代码语言:javascript
复制
[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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-25 12:44:14

它似乎是maven-scm-provider-tfs中的一个bug。这意味着,TFS对maven-scm插件的支持还不够充分.

我已经为此打开了一个JIRA项目[SCM-752],并建议进行修复。它将在maven-scm插件的下一个版本(1.10)中发布。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23809214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档