是否可以將原型和普通Maven插件的功能組合到一個插件中?我可以製作一個Maven插件來生成一個項目,然後構建該項目?
我有一種自定義語言,可以編譯成Java源代碼。我寫了一個Maven插件,它在generate-sources
階段執行此操作,將Java源添加到項目中,並構建項目。它按我的預期工作。
但是,要使用它,我需要先寫出一個引用我的插件的pom.xml
文件,並描述輸入文件的位置。我希望能夠直接從原始輸入文件到單個maven命令中的編譯代碼。
例如,假設我有這樣的目錄結構:
my-project/
some-input-file.dsl
我想運行
bash$ mvn com.waisbrot.plugin:generate -DgroupID=com.waisbrot package
和Maven的運行完之後有:
my-project/
some-input-file.dsl
pom.xml
target/
generated-sources/
plugin/
SomeInputFile.java
classes/
com/
waisbrot/
SomeInputFile.class
some-input-file-1.0.jar
最好的辦法是配置您的插件安裝到生命週期在你顯示的那個pom中。而已。您的dsl文件的位置應該更改爲src/main/name-of-your-dsl/xyz-input-file.dsl。像其他DSL一樣,使用Groovy等Maven進行處理。 – khmarbaise
可以移動文件並將其新位置存儲在生成的POM中;我不在乎這一點。我問的是,如果我可以將非Maven目錄轉換爲Maven項目,然後同時執行該新創建項目的Maven目標。 –