在Java项目中导入自制Scala Jar包遇阻问题求助
问题:Scala库Jar包在KNIME节点及Java项目中无法正常加载类
开发背景与操作流程
- 开发KNIME节点,核心依赖自制Scala库
- 通过IntelliJ IDEA的工件构建功能(选择「从含依赖的模块」,遵循默认步骤)将Scala库导出为.jar文件
- 通过「添加外部Jars...」操作,将该Jar包加入作为Eclipse项目的KNIME节点项目构建路径
问题现象
1. KNIME节点执行异常
导入Jar包后,IDE可识别包路径、自动补全Scala对象及函数,但启动KNIME执行节点时抛出错误:
Execute failed: apackage/Transformer java.lang.NoClassDefFoundError: apackage/Transformer
对应的根源异常:
java.lang.ClassNotFoundException: apackage.Transformer cannot be found by org.knime.examples.numberformatter_1.0.0.qualifier
2. 纯Java测试项目异常
为排除KNIME平台问题,创建纯Java项目并添加该Scala Jar包,出现以下问题:
- IDE能识别包、自动补全功能可用,但导入语句报错:
The package apackage is not accessible
- 自动补全类名时提示:
Transformer cannot be resolved
补充信息
执行命令 jar tf Trasnformer.jar 查看Jar包内容,输出包含目标类文件:
apackage/Transformer.classapackage/Transformer$.classapackage/Transformer$delayedInit$body.class
同时包含其他Scala标准库类文件
内容的提问来源于stack exchange,提问作者xandor19
相关产品推荐
相关产品推荐

