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

WSO2 is the only open source vendor to be named a leader in The Forrester Wave™: API Management Solutions, Q4 2018 Report. Download the report now or try out our product for free.

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.

IAM is now more than a security project. It’s an enabler for an integration agile enterprise. If you’re currently evaluating an identity solution or exploring IAM, join this webinar.

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 }}