【发布时间】:2016-01-14 16:54:39
【问题描述】:
当通过mvn compile exec:java 运行我的应用程序时,它会说:
[main] DefaultTypeConverter INFO Loaded 199 type converters
当运行java -jar(使用maven-shade-plugin 制作的uberjar)时,它会说:
[main] DefaultTypeConverter INFO Loaded 182 type converters
检查差异(199 比 182)。因此,我的代码在某些情况下无法按预期工作。
使用骆驼2.16.1。如果需要完整的依赖项列表,请告诉我,我会更新。
更新 1 添加解决
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/services/org/apache/camel/TypeConverter</resource>
</transformer>
到我的maven-shade-plugin 配置。
【问题讨论】:
-
类型转换器是通过Service Loader 机制发现的。能否请您发布
maven-shade-plugin的配置和mvn dependency:tree的输出以便我分析?我的怀疑是某些 Camel 依赖项没有被打包,例如runtime或provided依赖项。
标签: maven apache-camel maven-3 maven-shade-plugin uberjar