<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sky's blog

    我和我追逐的夢

    常用鏈接

    統計

    其他鏈接

    友情鏈接

    最新評論

    解決m2eclipse 0.9.7版本下maven Assembly plugin無法工作的問題

    升級到m2eclipse 0.9.7版本后,發現一個問題,maven Assembly plugin無法工作,具體是在eclipse下執行"run as" --> "maven package"時,報錯:

    (我在pom.xml中重定義了package的行為,會執行maven-assembly-plugin插件)

    [ERROR] BUILD ERROR
    [INFO] 
    ------------------------------------------------------------------------
    [INFO] Failed to create assembly: Error adding file 
    'net.runafter.nptt:NpttCore:jar:0.1.0' to archive:

    G:\workspace\
    private\tools\nptt\trunk\NpttCore\target\classes isn't a file.


    如果在windows命令行下直接執行mvn package,繞過eclipse和m2eclipse,就可以成功。
    window -> preferences -> maven, 勾選"Debug output" 打開maven的debug開關,細看錯誤日志:


    [DEBUG] Adding artifact: net.runafter.nptt:NpttCore:jar:
    0.1.0 with file:

    G:\workspace\
    private\tools\nptt\trunk\NpttCore\target\classes to assembly location: lib/NpttCore-0.1.0.jar.
    [DEBUG] Adding file: G:\workspace\
    private\tools\nptt\trunk\NpttCore\target\classes to archive location: NpttMain-

    0.1.0/lib/NpttCore-0.1.0.jar
    [INFO] 
    ------------------------------------------------------------------------
    [ERROR] BUILD ERROR
    [INFO] 
    ------------------------------------------------------------------------
    [INFO] Failed to create assembly: Error adding file 
    'net.runafter.nptt:NpttCore:jar:0.1.0' to archive:

    G:\workspace\
    private\tools\nptt\trunk\NpttCore\target\classes isn't a file.

    [INFO] 
    ------------------------------------------------------------------------
    [DEBUG] Trace
    org.apache.maven.lifecycle.LifecycleExecutionException: Failed to create assembly: Error adding file

    'net.runafter.nptt:NpttCore:jar:0.1.0' to archive: G:\workspace\private\tools\nptt\trunk\NpttCore\target\classes

    isn
    't a file.
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:584)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle

    (DefaultLifecycleExecutor.java:
    500)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:
    479)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures

    (DefaultLifecycleExecutor.java:
    331)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments

    (DefaultLifecycleExecutor.java:
    292)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:
    142)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:
    336)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:
    129)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:
    301)
        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.classworlds.Launcher.launchEnhanced(Launcher.java:
    315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:
    255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:
    430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:
    375)
    Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to create assembly: Error adding file

    'net.runafter.nptt:NpttCore:jar:0.1.0' to archive: G:\workspace\private\tools\nptt\trunk\NpttCore\target\classes

    isn
    't a file.
        at org.apache.maven.plugin.assembly.mojos.AbstractAssemblyMojo.execute(AbstractAssemblyMojo.java:368)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:
    453)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:
    559)
         
    16 more
    Caused by: org.apache.maven.plugin.assembly.archive.ArchiveCreationException: Error adding file

    'net.runafter.nptt:NpttCore:jar:0.1.0' to archive: G:\workspace\private\tools\nptt\trunk\NpttCore\target\classes

    isn
    't a file.
        at org.apache.maven.plugin.assembly.archive.task.AddArtifactTask.execute(AddArtifactTask.java:193)
        at org.apache.maven.plugin.assembly.archive.task.AddDependencySetsTask.addDependencySet

    (AddDependencySetsTask.java:
    177)
        at org.apache.maven.plugin.assembly.archive.task.AddDependencySetsTask.execute

    (AddDependencySetsTask.java:
    116)
        at org.apache.maven.plugin.assembly.archive.phase.DependencySetAssemblyPhase.execute

    (DependencySetAssemblyPhase.java:
    74)
        at org.apache.maven.plugin.assembly.archive.DefaultAssemblyArchiver.createArchive

    (DefaultAssemblyArchiver.java:
    129)
        at org.apache.maven.plugin.assembly.mojos.AbstractAssemblyMojo.execute(AbstractAssemblyMojo.java:
    322)
         
    18 more
    Caused by: org.codehaus.plexus.archiver.ArchiverException:

    G:\workspace\
    private\tools\nptt\trunk\NpttCore\target\classes isn't a file.
        at org.codehaus.plexus.archiver.AbstractArchiver.addFile(AbstractArchiver.java:308)
        at org.codehaus.plexus.archiver.AbstractArchiver.addFile(AbstractArchiver.java:
    262)
        at org.apache.maven.plugin.assembly.archive.archiver.AssemblyProxyArchiver.addFile

    (AssemblyProxyArchiver.java:
    474)
        at org.apache.maven.plugin.assembly.archive.task.AddArtifactTask.execute(AddArtifactTask.java:
    188)
         
    23 more


        可以看到,maven Assembly plugin試圖以操作文件的方式操作目錄NpttCore\target\classes,因此失敗造成整個package命令執行失敗。

        查了好一段時間,沒有結果,因為之前一直都是ok的,而且在命令行下可以正常,有些糊涂。最后沒有辦法了,只好google,終于有所收獲,同樣的問題之前有人遇到過:

        http://jira.codehaus.org/browse/MNGECLIPSE-1201

        而且給maven的官方提過comments:
        http://jira.codehaus.org/browse/MASSEMBLY-396

        似乎maven的維護人員給出了答案:

        This is related to workspace resolution feature that is enabled automatically if project has workspace resolution enabled. You can disable it in the Maven launch configuration.

        The workspace resolution is not a new feature, you can read about it at [1]. In 0.9.7 defaults for the Maven launch configuration been changed to pickup setting for workspace dependency resolution from the project settings, so defaults for compile-time dependency resolution match Maven launch dependency resolution. Unfortunately not all Maven plugins can properly work when workspace dependency resolution is enabled, so I would recommend to submit bug reports to the Maven projects for such plugins.

        The m2eclipse allows to disable workspace resolution for compile time and for Maven launch config separately, so you have some flexibility.

        簡單的說就是和workspace resolution這個特性有關,In 0.9.7默認的maven的啟動配置已經被修改為“pickup setting for workspace dependency resolution from the project settings”,而不是所有的maven插件都可以在workspace dependency resolution開啟的情況下工作。比如這次maven Assembly plugin就犯錯了,可以通過在maven的啟動配置中關閉這個特性來解決這個問題。

        解決的方法很簡單,右鍵單擊要執行package的project,"properties for ***" -> maven,將"resolve dependencies from workspace projects"前的勾取消。

        重新執行maven package成功,問題解決。

    posted on 2009-03-17 21:41 sky ao 閱讀(4407) 評論(0)  編輯  收藏 所屬分類: project building

    主站蜘蛛池模板: 无码欧精品亚洲日韩一区| 国产亚洲午夜高清国产拍精品| 综合自拍亚洲综合图不卡区| 免费在线观看一级片| 一本久久a久久精品亚洲| 久久久久久av无码免费看大片| 国产日产亚洲系列最新| 亚洲免费视频一区二区三区| 亚洲人成无码www久久久| 一个人看的免费观看日本视频www| 亚洲人成影院在线观看| 东北美女野外bbwbbw免费| 亚洲中文字幕在线乱码| 免费在线看黄网站| 久久久国产精品亚洲一区| 中文字幕免费高清视频| 在线观看亚洲一区二区| 成人免费一级毛片在线播放视频| 久久久久精品国产亚洲AV无码| 成年女人毛片免费播放人 | 中文字幕亚洲综合久久| 日韩中文字幕精品免费一区| 2020亚洲男人天堂精品| 国产精品深夜福利免费观看| 国产精品hd免费观看| 亚洲精品天天影视综合网| 久久综合AV免费观看| 曰批免费视频播放在线看片二| 亚洲国产日韩在线视频| 和日本免费不卡在线v| 免费精品久久久久久中文字幕| 国产AV无码专区亚洲AV毛网站| 114级毛片免费观看| 亚洲欧美日韩综合久久久久| 亚洲免费日韩无码系列| 99re在线这里只有精品免费| 亚洲精品av无码喷奶水糖心| 不卡一卡二卡三亚洲| 亚洲人成免费网站| 四虎影视在线看免费观看| 久久亚洲中文字幕精品有坂深雪|