【问题标题】:Eclipse + Maven + maven-license-pluginEclipse + Maven + maven-license-plugin
【发布时间】:2011-07-14 13:39:57
【问题描述】:

我已将maven-license-plugin 添加到我在Eclipse 中设置的maven 项目中。现在它已配置,我无法找到执行它的方法。谁能向我解释一下你是如何在 eclipse 中运行它的?谢谢。

pom.xml 文件。

<plugin>
    <groupId>com.google.code.maven-license-plugin</groupId>
    <artifactId>maven-license-plugin</artifactId>
    <version>1.4.0</version>
    <configuration>
            <header>header.txt</header>
        </configuration>  
        <executions>
            <execution>
                <goals>
                    <goal>check</goal>
                </goals>
            </execution>
        </executions>                   
  </plugin>

右键单击项目,运行方式显示 Maven assembly/build/clean/install/package/generate-sources/test/jar 的选项——我没有任何其他选项。

已尝试:

设置一个外部工具,我设置为${maven_exec}(在首选项中配置为mvn.bat的字符串替换),参数为license:format -Dyear=2011 -Demail=myaddress@mycompany.com

结果:

Buildfile: C:\dev\dependencies\maven\bin\mvn.bat

BUILD FAILED
C:\dev\dependencies\maven\bin\mvn.bat:1: Content is not allowed in prolog.

【问题讨论】:

  • 为什么在 Eclipse 中需要它?您不是出于分发目的从命令行构建应用程序吗?
  • "prolog 中不允许有内容。"通常是一个 XML 解析器错误,表明文件开头有一些无效的 XML。你的 pom 还好吗?
  • @Thomas,deloyed 的人工制品是由 Hudson 建造的。我想确保所有文件都已获得许可,这使我能够以一种集中的方式来确保每个文件都具有正确、最新的许可信息——尽管仍然无法正常工作:)
  • @Matthew,谢谢,但无法找到解决问题的方法。它会是插件。
  • 所以你说,从 hudson 运行插件也不起作用?您是否设置了 hudson 来调用 check 目标?

标签: java eclipse-plugin maven-plugin


【解决方案1】:

根据documentation,检查目标默认绑定到maven build life cycle的验证阶段。

默认生命周期具有以下构建阶段(对于完整的 构建阶段列表,请参阅生命周期参考):

  • 验证 - 验证项目是否正确以及所有必要的信息都可用
  • compile - 编译项目的源代码
  • test - 使用合适的单元测试框架测试编译的源代码。这些测试不应要求将代码打包或 部署
  • 打包 - 获取已编译的代码并将其打包成可分发的格式,例如 JAR。
  • 集成测试 - 如有必要,处理包并将其部署到可以运行集成测试的环境中
  • 验证 - 运行任何检查以验证包是否有效并符合质量标准
  • install - 将包安装到本地存储库中,用作本地其他项目的依赖项
  • 部署 - 在集成或发布环境中完成,将最终包复制到远程存储库以与其他人共享 开发人员和项目。

因此,您将需要运行以 verify 作为前身的构建阶段,即 installdeploy
如上所述,可以在 Maven 运行菜单上进行安装。
选择“run as > maven build ...”会提示你执行哪个目标,你可以直接指定verify,并将其保存为名为project-verify的运行配置。

或者,您可以将检查目标绑定到不同的生命周期阶段,请查看上面的文档链接以获取此配置。

【讨论】:

    【解决方案2】:

    该插件有以下目标:

    • check(如here所示)

    • format(如here所见)

    • remove(如here所见)

    也许在 Eclipse 中您可以设置这些目标来运行,但我个人建议通过控制台运行它们。

    【讨论】:

      【解决方案3】:

      选择您的项目,然后选择运行方式并选择build...,然后输入您的目标

      例如,您可以这样做:

      license:check
      license:format
      license:remove
      

      【讨论】:

        猜你喜欢
        • 2013-02-10
        • 2012-10-07
        • 2012-07-12
        • 2011-11-16
        • 2014-03-10
        • 2014-06-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多