【发布时间】:2016-05-06 09:33:18
【问题描述】:
我们创建了一个 Maven 插件来简化可执行战争文件的创建。该方法类似于此处描述的方法:http://uguptablog.blogspot.co.uk/2012/09/embedded-jetty-executable-war-with.html。我们的自定义 mojo 完成了 antrun 插件和解包依赖步骤的工作,极大地减少了开发人员无需为简单的 web 应用担心的混乱和细节。
插件运行良好,webapp POM 如下所示:
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<attachClasses>true</attachClasses>
<archive>
<manifest>
<mainClass>com.acme.Bootstrap</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>com.acme</groupId>
<artifactId>exec-war-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
</plugin>
我们想要做的是删除 maven-war-plugin 配置,因为只需将 Main-Class 属性写入清单。我正在努力了解如何实现这一目标,但我可以看到两种可能的方法:
不知何故,我们的 mojo 中的常规战争插件需要额外的清单条目。我不知道这是否有可能
让我们的插件扩展默认的战争插件。我不知道这是否可能,因为战争插件绑定到包装/生命周期,我认为你不能从另一个插件中影响它。每个项目都必须自定义生命周期,这会打败对象,因为它比上述配置要困难得多!
非常感谢任何建议/帮助。
【问题讨论】:
-
什么不自己在插件中创建清单文件?
-
在这种情况下,标准的战争插件会覆盖自定义的。
标签: maven maven-3 maven-plugin