Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Mulesoft — org.mule Pom Dependency Solution

DZone's Guide to

Mulesoft — org.mule Pom Dependency Solution

In this article, we will learn how to include pom dependency (jar) files that are excluded by default in Mule, details of the error, and debug procedure.

· Integration Zone ·
Free Resource

SnapLogic is the leading self-service enterprise-grade integration platform. Download the 2018 GartnerMagic Quadrant for Enterprise iPaaS or play around on the platform, risk free, for 30 days.

In this article, we will learn how to include pom dependency (jar) files that are excluded by default in Mule, details of the error, and debug procedure.

Deployment Error:

Image title

Debug Findings:

Post-deployment error, we logged into MMC, apps lib folder and found all the jar files defined in the pom dependency section are available, except microsoft-dynamics365-for-operations-1.0.1.jar.

Dependency:

<dependency>
<groupId>org.mule.modules</groupId>
<artifactId>microsoft-dynamics365-for-operations</artifactId>
<version>1.0.1</version>
</dependency>

Background:

All Mule dependencies (i.e. those with a group Id of

org.mule,

com.mulesource.muleesb, and

com.mulesoft.muleesb)

are excluded in the Mule application archive (.zip). Their transitive dependencies are excluded as well. More details can be found on this topic here.

Solution:

Since Dynamics connector has group ID, org.mule.modules, it was excluded as part of the package (zip file). So we need to explicitly add it to the package. We can use mule-app-maven-plugin to achieve it. With this plug-in defined in pom XML, Dynamics jar got added to the package and was available in MMC, apps lib folder.

We recommend using mule-app-maven-plugin for packaging your Mule application. This way, the mule-maven-plugin will automatically pick the packaged Mule application and deploy it.


<plugin>
  <groupId>org.mule.tools.maven</groupId>
  <artifactId>mule-app-maven-plugin</artifactId>
  <version>${mule.tools.version}</version>
  <extensions>true</extensions>
  <configuration>
    <copyToAppsDirectory>true</copyToAppsDirectory>
    <inclusions>
      <inclusion>
        <groupId>org.mule.modules</groupId>
        <artifactId>microsoft-dynamics365-for-operations</artifactId>
      </inclusion>
    </inclusions>
  </configuration>
</plugin>

You can learn more about Mule Plugin for Maven here.

Download A Buyer's Guide to Application and Data Integration, your one-stop-shop for research, checklists, and explanations for an application and data integration solution.

Topics:
mulesoft ,maven ,integration ,mule ,pom dependency ,dependency

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}