如何编写一个Maven插件,调用exec:java并不';不要干扰用户';什么是类路径?

如何编写一个Maven插件,调用exec:java并不';不要干扰用户';什么是类路径?,java,scala,maven,plugins,Java,Scala,Maven,Plugins,在开源之前,我想为我的项目创建一个maven插件 该项目在运行应用程序的开始处附加了一个Java代理,以对其进行各种类型的评测。代理写出文本文件以供以后处理 我希望能够编写一个maven插件,它可以: 有一个exec:java的替代方案,它启动一个新的java进程,将代理添加到参数列表中,并传递所有用户命令 在退出时,我想调用一些任意的后处理代码来生成HTML报告 我已经写过,所以我对API相当熟悉,但我不知道如何在不重写的情况下扩展exec:java 我如何定义一个新的目标,该目标可以调用

在开源之前,我想为我的项目创建一个maven插件

该项目在运行应用程序的开始处附加了一个Java代理,以对其进行各种类型的评测。代理写出文本文件以供以后处理

我希望能够编写一个maven插件,它可以:

  • 有一个
    exec:java
    的替代方案,它启动一个新的java进程,将代理添加到参数列表中,并传递所有用户命令
  • 在退出时,我想调用一些任意的后处理代码来生成HTML报告
我已经写过,所以我对API相当熟悉,但我不知道如何在不重写的情况下扩展
exec:java

我如何定义一个新的目标,该目标可以调用
exec:java
,尊重用户的参数列表-但确保它运行分叉并连接我的代理-然后将控制权交还给我的插件以运行一些后处理?


我还应该注意,我的插件(后处理部分)是用Scala编写的。。。如何确保我自己的扩展依赖项列表不会干扰用户的构建?(例如,我可能会使用与用户想要的不同版本的Scala)

为exec maven插件提供补丁怎么样?@khmarbaise你真的认为这是必要的吗?我没有说这是必要的,但exec maven插件支持
exec:start
exec:stop
可能是一个很好的改进?或者
exec:java开始
exec:java停止
…您对这个问题得出过结论吗?我面临同样的问题,想知道你是如何解决的?