【问题标题】:Creating maven custom plugin创建 Maven 自定义插件
【发布时间】:2017-05-30 20:08:47
【问题描述】:

我在 Maven 中创建了一个自定义插件。但是,创建的 jar 文件名为 CustomPlugin-1.0.jar.lastUpdated 'lastUpdated' 是扩展名,由于文件已损坏而无法打开。

我创建它的步骤如下:

  • 首先,我使用 maven 创建了一个 maven 插件(使用 packaging=maven-plugin 创建了一个 maven 项目)。
  • 然后我在其中放置了一个扩展AbstractMojo 并包含自定义插件代码的类。
  • 然后我用 maven 构建了它。如上所述,Maven 创建了损坏的 jar。

如何为自定义插件创建有效的 jar 文件?

【问题讨论】:

  • 发布 Mojo 和 pom.xml 的简化版本。 Maven 不会在项目中创建 lastUpdated 文件,只会在您的仓库中创建。
  • 为什么要创建自定义插件?目的是什么?其他现有插件无法解决?

标签: maven plugins


【解决方案1】:

使用 maven-shade 插件来打包你的 jar。它将自动打包并创建一个 jar(fat-jar),其中包含所有依赖项、资源以及正确的 jar 名称和扩展名。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-shade-plugin</artifactId>
  <version>3.0.0</version>
  <configuration>
    <!-- put your configurations here -->
  </configuration>
  <executions>
    <execution>
      <phase>package</phase>
      <goals>
        <goal>shade</goal>
      </goals>
    </execution>
  </executions>
</plugin>

将此添加到您的自定义 maven 插件 pom 和使用 mvn clean install 的构建中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    相关资源
    最近更新 更多