@Target(value=TYPE) @Retention(value=RUNTIME) @Documented @Repeatable(value=ExternalLibs.class) public @interface ExternalLib
This annotation is intended to be used in classes which represent the extension, a configuration or a connection provider.
When the dependency is needed extension wide, then this annotation should be used at the extension level. If it's only
needed when using a particular configuration, then it should be used at the config level. Finally, if it's needed only
for establishing connections, then it should be used on a connection provider. Notice that you can have a mix of any of these
options, since an extension can depend on many external libraries in different places. An example would be the Database connector,
which has different ConnectionProvider for connecting to different types of databases, each one requiring a different
JDBC driver.
This annotation is repeatable, which means that any annotated component can depend on many external libraries.
| Modifier and Type | Required Element and Description |
|---|---|
String |
name |
org.mule.runtime.api.meta.ExternalLibraryType |
type |
| Modifier and Type | Optional Element and Description |
|---|---|
String |
coordinates
If provided, suggests Maven coordinates where the required library can be found.
|
String |
description |
String |
nameRegexpMatcher |
boolean |
optional |
String |
requiredClassName |
public abstract String name
public abstract org.mule.runtime.api.meta.ExternalLibraryType type
public abstract String description
public abstract String nameRegexpMatcher
public abstract String requiredClassName
public abstract String coordinates
groupId:artifactId:packaging:classifier:version.
Keep in mind that not all the values of the coordinates are required, for example:
org.mule.modules:a-required-lib:1.0.0 are valid coordinates, which communicates the groupId,
artifactId and version of the external library.
By default, the packaging is jar, so if is required to use a native library, like a .DLL, you will provide:
org.mule.module:a-native-lib:dll:1.0.0 where dll is the packaging of the library.
More information in: https://maven.apache.org/pom.html#Maven_Coordinates
Copyright © 2019 MuleSoft, Inc.. All rights reserved.