我爱编程

2018-06-21 Oracle JDK,Open JDK编译

2018-06-21  本文已影响64人  见云开
  1. 开发环境
$ 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)
  1. 线上环境
FROM openjdk:8u171-jre-alpine3.7
  1. 引起问题的代码
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);
  1. 如何解决
# 这里使用了同样以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应该自己解释自己。

上一篇下一篇

猜你喜欢

热点阅读