我是靠谱客的博主 闪闪铃铛,这篇文章主要介绍maven-docker整合时候,使用mvn docker:build发生javax.activation.DataSource没找到的异常问题基本分析问题分析解决方案,现在分享给大家,希望可以做个参考。

问题基本分析

初步看错误,是因为没有找到javax.activation.DataSource类的原因导致的错误。

复制代码
1
2
3
4
5
6
Caused by: java.lang.ClassNotFoundException: javax.activation.DataSource at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50) at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)

问题分析

印象中javax.activation.DataSource类应该是jdk自带的,不应该找不到才对,后面才发现笔者的jdk环境是jdk13,我们知道javax.activation从jdk11就已经被移除掉了,但是奇怪的是项目在运行的时候没有报错,所以断定是编译的过程依赖到了。所以,解决方案是,给插件添加依赖activation,也就是xml的最后一部分。问题完美解决,解决了的童鞋记得点个赞哦。

解决方案

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <!--指定镜像上传到docker 私服的地址--> <imageName>192.168.148.132:5000/${project.artifactId}:${project.version} </imageName> <baseImage>jdk13</baseImage> <entryPoint>["java", "‐jar", "/${project.build.finalName}.jar"]</entryPoint> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> <!--指定docker restAPI 接口--> <dockerHost>http://192.168.148.132:2375</dockerHost> </configuration> <dependencies> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1.1</version> </dependency> </dependencies> </plugin>

最后

以上就是闪闪铃铛最近收集整理的关于maven-docker整合时候,使用mvn docker:build发生javax.activation.DataSource没找到的异常问题基本分析问题分析解决方案的全部内容,更多相关maven-docker整合时候,使用mvn内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(91)

评论列表共有 0 条评论

立即
投稿
返回
顶部