我是靠谱客的博主 闪闪铃铛,最近开发中收集的这篇文章主要介绍maven-docker整合时候,使用mvn docker:build发生javax.activation.DataSource没找到的异常问题基本分析问题分析解决方案,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
问题基本分析
初步看错误,是因为没有找到javax.activation.DataSource类的原因导致的错误。
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的最后一部分。问题完美解决,解决了的童鞋记得点个赞哦。
解决方案
<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 docker:build发生javax.activation.DataSource没找到的异常问题基本分析问题分析解决方案所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复