如何在maven扩展中执行可配置的plexus组件?

时间:2013-07-29 10:19:07

标签: java maven code-injection plexus

我正在尝试修改tesla-profiler扩展名以支持不同的输出格式,以及选择写入文件的路径。

我当前的components.xml定义了一个“渲染器”,它具有探查器所需的特定实现,并由role-hint选择,但现在它完全是静态的,它看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<component-set>
  <components>
    <component>
      <role>io.tesla.lifecycle.profiler.SessionProfileRenderer</role>
      <role-hint>file-writer</role-hint>
      <implementation>io.tesla.lifecycle.profiler.SessionProfileFileWriter</implementation>
      <configuration>
        <filename>profile.out</filename>
      </configuration>
    </component>
    <component>
      <role>org.apache.maven.eventspy.EventSpy</role>
      <role-hint>tesla-profiler</role-hint>
      <implementation>io.tesla.lifecycle.profiler.LifecycleProfiler</implementation>
      <isolated-realm>false</isolated-realm>
      <requirements>
        <requirement>
          <role>io.tesla.lifecycle.profiler.SessionProfileRenderer</role>
          <role-hint>file-writer</role-hint>
        </requirement>
      </requirements>
    </component>
  </components>
</component-set>

我想知道我是否可以以某种方式参数化或覆盖它,以便我可以从项目的pom.xml中选择要使用的SessionProfileRenderer,也可以选择渲染器的参数,例如:要在SessionProfileFileWriter中写入的文件的路径。

0 个答案:

没有答案