常见的java jar导入到mule项目中

问题描述 投票:0回答:1

我正在尝试将

common-math Java jar
导入到我的 mule 项目中,然后对 java jar 进行基本功能检查。

根据此博客https://mulesy.com/external-jar-class-in-dataweave/ 我在 mule-artifact.json 中添加了 pom 依赖和外部包。

mule-artifact.json

{
  "minMuleVersion": "4.4.0",
  "classLoaderModelLoaderDescriptor": {
    "id": "mule",
    "attributes": {
      "exportedPackages": [
        "org.apache.commons.math3"
      ]
    }
  }
}

我的pom依赖:

<dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-math3</artifactId>
            <version>3.6.1</version>
        </dependency>

现在我的数据编织代码如下:

%dw 2.0
import * from java!org::apache::commons::math3::prime::Primes
output application/json
---
{
    a: Primes::isPrime(13)
}

它应该根据 java 类返回我

true
false
。 但我收到错误消息
Unable to resolve the reference of: Primes::isPrime

缺少什么,我应该在

primes
中添加
src/main/java
的整个java包吗? 让我知道如何导入外部 java jar 并在该 jar 中定义的 Mulesoft 中执行操作..

注意:我还在我的 m2 存储库中安装了这个 jar

java jar dataweave mule4
1个回答
0
投票

Apache Commons Math3
的正确包是 prime 时,您正在使用包
primes
。完整的包名称是
org.apache.commons.math3.primes

我不确定是否真的需要在 mule-artifact.json 中声明

exportedPackages
键。在许多情况下,在构建时自动配置。我会尝试将其删除。如果仍然需要使用完整包。

© www.soinside.com 2019 - 2024. All rights reserved.