2016-03-31 4 views
1

Есть ли способ создать приложение Mule как встроенную автономную банку с использованием Maven (возможно, с помощью плагина Mule maven)?Mule: встроенное приложение с Maven

Как настроить pom, если это так?

В документации MuleSoft говорится, что вы можете создать встроенное приложение, добавив все зависимости вручную. Но я надеюсь, что есть способ автоматизировать эту задачу.

Спасибо,

ответ

0

Вы можете создать приложение Maven и зависят только от org.mule.distributions:mule:jar:embedded:3.7.0, но это не будет создавать приложения со всеми Mule классов внутри него, которые я думаю, это полезный подход (хотя я не» т понимаете ваш сценарий).

Если вам нужны все зависимости, которые необходимо упаковать в комплекте приложений, вы можете использовать Maven Assembly Plugin для включения всех зависимостей в zip-файл. Сначала добавьте конфигурацию плагина к вашему ПОМ, как это:

  <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
        <configuration> 
         <descriptors> 
          <descriptor>assembly.xml</descriptor> 
         </descriptors> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

И добавить файл assembly.xml в ваш проект корневой каталог, содержащий это:

<assembly> 
    <id>application-name</id> 
    <formats> 
     <format>zip</format> 
    </formats> 
    <includeBaseDirectory>false</includeBaseDirectory> 
    <dependencySets> 
     <dependencySet> 
      <outputDirectory>lib</outputDirectory> 
      <scope>runtime</scope> 
      <fileMode>0644</fileMode> 
     </dependencySet> 
    </dependencySets> 
</assembly> 
+0

Да, я пробовал это. Это на самом деле создание приложения, но когда вы пытаетесь запустить его, он не работает при отсутствии зависимостей. Итак, вам действительно нужно запустить приложение, чтобы узнать, какие библиотеки отсутствуют. И вам нужно делать это один за другим для каждой зависимости. И тогда вы обнаружите, что Mule требовал очень специальных версий зависимостей, иначе приложение будет терпеть крах. Это делает процесс создания встроенного приложения чрезвычайно сложным. – spoonboy

+0

Вы правы, есть много других зависимостей. Как насчет использования плагина сборки Maven для создания войны, содержащей все зависимости? Или создать zip-файл со всеми зависимостями в каталоге lib? –

+0

Это именно то, что я ищу. – spoonboy

Смежные вопросы