【问题标题】:Learning Maven: "Unable to parse configuration" for jar plugin学习 Maven:jar 插件的“无法解析配置”
【发布时间】:2014-01-11 04:12:10
【问题描述】:

我正在尝试使用 eclipse 在我自己的一个小项目中学习 maven。我将现有项目转换为 maven 标准目录配置,并且正在构建;现在我正在尝试让 maven 为应用程序生成 jar。以下是pom.xml:

<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>       com.rc          </groupId>
    <artifactId>    SpaceCheck      </artifactId>
    <version>       0.9.1-SNAPSHOT  </version>
    <name>          SpaceCheck      </name>
    <packaging>     jar             </packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <build>
        <plugins>
              <plugin>
                  <groupId>   org.apache.maven.plugins </groupId>
                  <artifactId>maven-jar-plugin         </artifactId>
                  <version>   2.3.2                    </version>
                  <configuration>
                <includes>**/src/*</includes>
                      <archive>
                          <manifest>
                              <addClasspath>true</addClasspath>
                              <classpathPrefix>lib/</classpathPrefix>
                              <mainClass>spacecheck.SpaceCheck</mainClass>
                          </manifest>
                      </archive>
                  </configuration>
              </plugin>
        </plugins>
    </build>

</project>

我以前没有'includes'子句;据我所知,这就是我所指出的例子告诉我要解决这个问题。它没有。

当我尝试构建时,我得到:

[ERROR] 未能执行目标 org.apache.maven.plugins:maven-jar-plugin:2.3.2:jar (default-jar) on 项目 SpaceCheck:无法解析 mojo 的配置 org.apache.maven.plugins:maven-jar-plugin:2.3.2:jar 用于参数 包括:无法为配置条目“包含”分配值 '*/src/' 类型为 java.lang.String 类型的属性 java.lang.String[] -> [帮助1]

“帮助 1”链接指向我遵循的教程。

我对本教程的问题是它没有解释事情是如何工作的——它给了你一个例子,并希望你从例子中提取一般的工作原理。示例并没有错,但它们很少能完全符合人们想要做的事情。

我相信很多人都可以告诉我出了什么问题,我将不胜感激。但如果他们也能告诉我这是在哪里解释的,而不仅仅是在哪里有一个类似的例子,那就更好了。完整的解释将解释需要添加什么元素,在 XML 中的位置,以及用于该位置的各种选项。

【问题讨论】:

    标签: java eclipse maven jar


    【解决方案1】:

    代替

    <includes>**/src/*</includes>
    

    试试

    <includes>
        <include>**/src/*</include>
    </includes>
    

    如果你正在学习 Maven,你肯定想看看The Complete Reference

    【讨论】:

    • 显然**/src/* 并没有像我想的那样做;当我构建时,错误消失了,但我的 jar 中没有任何类。我尝试将其更改为**/target/*,认为它需要来自编译的输出目录而不是输入目录,但这并没有帮助。您能否添加我为将课程放入 jar 所做的工作(就像他们在我更改其他我什至不记得的内容之前所做的那样?)?
    【解决方案2】:

    既然您要的是文档(而不是直接答案),请查看http://maven.apache.org/guides/mini/guide-configuring-plugins.html

    【讨论】:

    • 这很有帮助,而且更像我正在寻找的东西。恐怕我确实需要有关此插件的特定文档...您知道有人可能在哪里吗?
    • Apache Maven 团队开发的所有插件列表:maven.apache.org/plugins/index.html。一般来说:左上角有指向每个目标和一般用法的链接。
    【解决方案3】:

    问题是maven版本

    maven 3.3.9 及更高版本支持以下列表/集合格式,但在较低版本中不支持。

    <includes>**/src/*</includes>
    

    但在低于3.3.9的maven版本中,不支持以上

    修复使其向后兼容

    <includes>
        <include>**/src/*</include>   
    </includes>
    

    PS:更多详情请查看this链接

    【讨论】:

      猜你喜欢
      • 2021-01-29
      • 2016-02-12
      • 1970-01-01
      • 2019-03-22
      • 1970-01-01
      • 2015-02-25
      • 2021-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多