Как разделять фрагменты POM между разными POM

В настоящее время я борюсь с Maven: у меня есть сложный проект, состоящий из нескольких вложенных модулей, и для некоторых из этих модулей у меня есть аналогичные конфигурации в POM.

Я хотел бы сделать его чистым. На самом деле, я хотел бы определить общую конфигурацию runnable-jar и активировать ее в некоторых модулях.

Вот фрагмент POM, которым я хотел бы поделиться между несколькими проектами:


    
       

        maven-assembly-plugin
        

            
            
                src/main/assembly/runnable-jar-assembly.xml
            

            
            
                
                    ${mainClass}
                
            

        

        
        
            
                make-runnable-jar
                package
                
                    single
                
            
        

       
    

В некоторых POMS я хотел бы иметь возможность делать что-то вроде:



    my.main.Class



src/main/pom/runnable-jar-pom.xml 

Я искал средство для импорта некоторого XML фрагментов в POM, или для определения всего макроса набора узлов XML.

Для того, что я нашел, наиболее близким решением было бы определить профиль в родительском POM и активировать его в некоторых подмодулях путем проверки наличия файла . См. Этот связанный вопрос . Но я столкнулся с проблемой, что свойство {basedir} неправильно задано, унаследовано / установлено.

Я нахожу очень удивительным необходимость в хакерских атаках для выполнения чего-то столь простого (= обычного). Как вы обычно справляетесь с этим в Maven?

8
задан Community 23 May 2017 в 12:08
поделиться