【问题标题】:Create a zip file using maven使用 maven 创建一个 zip 文件
【发布时间】:2014-08-08 10:06:52
【问题描述】:

我正在尝试使用程序集插件来为多模块 Maven 项目的特定模块创建 zip 文件。 这个模块只包含一堆xml和xsl文件,需要打包成一个zip文件(文件夹结构保存在src/main/resources下)。

所以我在下面创建了 pom:

<?xml version="1.0" encoding="UTF-8"?>
<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">
  <parent>
<groupId>foo.bar</groupId>
<artifactId>myserver</artifactId>
<version>${myserver.version}</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>foo.bar</groupId>
  <artifactId>zip-sample</artifactId>
  <name>Sample zip</name>
  <version>${myserver.version}</version>
  <build>
<plugins>
  <plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.4.1</version>
    <executions>
      <execution>
    <configuration>
      <descriptorRefs>
        <descriptorRef>bin</descriptorRef>
      </descriptorRefs>
    </configuration>
    <id>create-distribution</id>
    <phase>package</phase>
    <goals>
      <goal>single</goal>
    </goals>
      </execution>
    </executions>
  </plugin>
</plugins>
  </build>
</project>

但我得到了错误:

[DEBUG] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Unable to build project for plugin 'org.apache.maven.plugins:maven-assembly-plugin': Not a v4.0.0 POM. for project org.apache.maven.plugins:maven-assembly-plugin at /home/gundam/.m2/repository/org/apache/maven/plugins/maven-assembly-plugin/2.3/maven-assembly-plugin-2.3.pom
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.verifyPlugin(DefaultLifecycleExecutor.java:1557)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.bindPluginToLifecycle(DefaultLifecycleExecutor.java:1503)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.constructLifecycleMappings(DefaultLifecycleExecutor.java:1282)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:534)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
    at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
    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.InvalidPluginException: Unable to build project for plugin 'org.apache.maven.plugins:maven-assembly-plugin': . for project org.apache.maven.plugins:maven-assembly-plugin at /home/gundam/.m2/repository/org/apache/maven/plugins/maven-assembly-plugin/2.3/maven-assembly-plugin-2.3.pom
    at org.apache.maven.plugin.DefaultPluginManager.checkRequiredMavenVersion(DefaultPluginManager.java:293)
    at org.apache.maven.plugin.DefaultPluginManager.verifyVersionedPlugin(DefaultPluginManager.java:205)
    at org.apache.maven.plugin.DefaultPluginManager.verifyPlugin(DefaultPluginManager.java:184)
    at org.apache.maven.plugin.DefaultPluginManager.loadPluginDescriptor(DefaultPluginManager.java:1642)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.verifyPlugin(DefaultLifecycleExecutor.java:1540)
    ... 18 more
Caused by: org.apache.maven.project.InvalidProjectModelException: Not a v4.0.0 POM. for project org.apache.maven.plugins:maven-assembly-plugin at /home/gundam/.m2/repository/org/apache/maven/plugins/maven-assembly-plugin/2.3/maven-assembly-plugin-2.3.pom
    at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1599)
    at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1571)
    at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:562)
    at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromRepository(DefaultMavenProjectBuilder.java:251)
    at org.apache.maven.plugin.DefaultPluginManager.checkRequiredMavenVersion(DefaultPluginManager.java:277)
    ... 22 more

我尝试更改程序集插件版本,但即使 pom 看起来没问题,我总是出现“不是 v4.0.0 POM”错误。

使用的 Maven 版本:

$ mvn -v
Apache Maven 2.2.1 (r801777; 2009-08-06 21:16:01+0200)
Java version: 1.6.0_20
Java home: /usr/lib/jvm/jdk1.6.0_20/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux" version: "3.11.0-12-generic" arch: "amd64" Family: "unix"

会不会是pom.xml里面的插件定义有问题?

【问题讨论】:

    标签: java maven-2 maven-assembly-plugin


    【解决方案1】:

    是否有可能特定的 POM 文件已损坏或损坏?能不能看一下里面的内容:/home/gundam/.m2/repository/org/apache/maven/plugins/maven-assembly-plugin/2.3/maven-assembly-plugin-2.3.pom

    看到这里What does this mean: Not a v4.0.0 POM. for project org.codehaus.mojo:rpm-maven-plugin 有人有类似的问题。

    【讨论】:

    • 虽然有用;看起来它不是确切的答案。它应该作为评论进入。
    • 很抱歉,但我没有足够的声望点来回复他的问题作为评论。状态我需要“你必须有 50 声望才能发表评论”。也许您可以对问题发表上述评论,我可以删除此帖子。
    • 保留你的答案,但要改进它,
    • 确实检查文件 .m2/repository/org/apache/maven/plugins/maven-assembly-plugin/2.3/maven-assembly-plugin-2.3.pom 很有用,它被破坏了使用 HTML 表示请求获得了 HTTP 302 返回码。我会检查原因。
    猜你喜欢
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    • 2012-10-16
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-31
    相关资源
    最近更新 更多