Java 将Maven插件作为单独的进程运行

Java 将Maven插件作为单独的进程运行,java,maven,classpath,maven-plugin,Java,Maven,Classpath,Maven Plugin,我已经编写了一个maven插件,它需要动态地向is类路径添加依赖项。它扫描执行插件的模块的所有jar,寻找包含特定资源的jar,然后将该jar添加到类路径中 当一个项目中有一个模块使用这个插件时,一切都很好,但我现在添加了第二个模块。这个类路径现在仍然有插件第一次运行时的jar,因为它是同一进程的一部分 是否有一种方法可以将maven插件作为一个单独的进程运行,或者以其他方式将类路径隔离到插件您能否更详细地解释一下,您使用该插件的目的是什么,您正在解决什么样的问题?因为我的第一个想法是:动态添加

我已经编写了一个maven插件,它需要动态地向is类路径添加依赖项。它扫描执行插件的模块的所有jar,寻找包含特定资源的jar,然后将该jar添加到类路径中

当一个项目中有一个模块使用这个插件时,一切都很好,但我现在添加了第二个模块。这个类路径现在仍然有插件第一次运行时的jar,因为它是同一进程的一部分


是否有一种方法可以将maven插件作为一个单独的进程运行,或者以其他方式将类路径隔离到插件

您能否更详细地解释一下,您使用该插件的目的是什么,您正在解决什么样的问题?因为我的第一个想法是:动态添加依赖项听起来是个坏主意……此外,您有一个可以显示真实用例的项目吗?它是一个生成描述包装JavaBean的API的文档的插件。这些bean被分割到多个不同的jar中,并且都是另一个模块的依赖项,其中使用了生成文档的插件。插件必须去那里,因为一个罐子的bean效果是另一个罐子生成的文档,所以不可能为每个罐子单独生成文档并合并它们,并且插件使用的每个模块中存在的罐子会有所不同/仍然没有说明为什么需要动态添加依赖项。如果它是一个插件,并且您希望它为所有依赖项生成文档,那么我看不出有什么问题。如果您需要动态地包含或排除某些依赖项,您可以将其添加到模块的配置中。有一种方法可以在单独的进程中运行插件,称为forking。请参见[maven surefire插件]作为示例