2016-06-20 83 views
1

我正在將舊版Maven構建版與GMaven plugin移植到GMavenPlus,並且遇到了問題,我不知道如何從Groovy腳本中的本地源文件夾調用外部Groovy類。將GMaven移植到GMavenPlus時替代scriptPath

這是我以前的設置:

<execution> 
    <id>process-static-content</id> 
    <goals> 
     <goal>execute</goal> 
    </goals> 
    <phase>process-resources</phase> 
    <configuration> 

     <scriptpath> 
      <element>${pom.basedir}/src/main/some-local-path</element> 
     </scriptpath> 
     <source> 
      // call class from scriptpath that needs access 
      // to Maven internals 
      new SomeClassFromTheAboveFolder(project, log).run(); 
     </source> 
    </configuration> 
</execution> 

改變<source><scripts><script>是顯而易見的,但據我所知,一個<script>塊只能要麼包含本地Groovy代碼或文件路徑的腳本,但都不能幫助我實現上述使用模式。

任何人都可以提供見解?

+0

爲了幫助,我需要了解您的使用案例。你需要什麼scriptPath元素?項目類已經在類路徑中。 – Keegan

+0

@Keegan這正是我不想要的。我只想在構建過程中使用這些類,而不使它們成爲jar的一部分 –

+0

「在類路徑上」我的意思是它在GMavenPlus的類路徑上。如果你只是想讓Groovy腳本能夠訪問項目類,那麼它應該可以直接使用,不需要scriptPath。 – Keegan

回答

1

因此,您希望將其他Groovy源添加到GMavenPlus的類路徑,因爲這些訪問類不是GMavenPlus調用生命週期中Maven項目的一部分(例如,可能需要訪問集成測試類在期間生成測試源階段)。

你是對的,目前還沒有機制來完成這項工作(因爲我根本沒有考慮過這種情況)。但我很高興添加它。我已打開#66以添加此功能。