- 开发环境
$ java -version
java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
- 线上环境
FROM openjdk:8u171-jre-alpine3.7
- 引起问题的代码
byte[] wrapBytes = FileUtils.readFileToByteArray(file);
ByteBuffer buffer = ByteBuffer.wrap(wrapBytes);
//OpenJDK, java.lang.NoSuchMethodError
buffer.position(18);
byte[] bytes = new byte[len];
buffer.get(bytes);
- 如何解决
# 这里使用了同样以openjdk为编译环境的镜像编译当前项目,达到环境一致的目的
docker run -it --rm -v $PWD:/usr/src/mymaven \
-w /usr/src/mymaven hub.c.163.com/library/maven:3.5.0-jdk-8-alpine\
mvn clean package -DskipTests
注意
项目不可过度依赖settings.xml文件,pom.xml应该自己解释自己。
网友评论