小编pha*_*teh的帖子

Docker alpine + oracle java:找不到java

我一直在尝试用Oracle Java(而不是openjdk)创建一个基于阿尔卑斯的docker镜像.我被特别要求在这里创建我们自己的图像.

这是我提出的Dockerfile:

FROM alpine:3.6

RUN apk add --no-cache curl wget

RUN mkdir /opt/ && \
    wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie"\
    http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz && \
    tar xvf jdk-8u131-linux-x64.tar.gz -C /opt/ && \
    rm jdk-8u131-linux-x64.tar.gz && \
    ln -s /opt/jdk1.8.0_131 /opt/jdk

ENV JAVA_HOME /opt/jdk
ENV PATH $PATH:/opt/jdk/bin

RUN echo $JAVA_HOME && \
    echo $PATH

RUN which java
RUN java -version
Run Code Online (Sandbox Code Playgroud)

有一些不必要的命令(如呼应JAVA_HOME目录),它被添加到帮助调试,但现在我卡住:RUN which java回报/opt/jdk/bin/java不如预期,但RUN java -version回报率/bin/sh: java: not found.

我尝试了一些事情,包括将可执行文件符号链接到/ usr/bin,但无济于事.

我错过了什么?

编辑:docker的最终输出是: The command …

java docker dockerfile

11
推荐指数
1
解决办法
7367
查看次数

ID3v2.3标签中的文本编码

感谢这个网站和其他一些网站,我创建了一些简单的代码来从MP3文件中读取ID3v2.3标签.这样做是一次很棒的学习经历,因为我之前不知道十六进制/字节/二进制等.

我可以成功读取数据,但遇到了一个我认为与使用的编码有关的问题.我已经意识到Text框架在'text'开头有一个字节描述了所使用的编码,并且可能在接下来的2个字节中有更多的信息.​​.....

示例:来自帧TIT2的数据以实际文本之前的字节$ 03(十六进制)开始.使用Encoding.ASCII.GetString,此文本正确显示,尽管在开头有一个额外的字符

在另一个MP3中,来自TIT2的数据启动$ 01,然后是$ FF $ FE,我相信这与Unicode有关吗?虽然文本本身被分解,每个文本字符之间有$ 00,这会阻止数据显示在windows窗体中(一旦遇到00,文本就会停止,所以我得到了第一个字符,那就是它).我已经尝试过使用Encoding.UNICODE.GetString,但这似乎只是回归乱码.

将这些数据打印到控制台似乎有效,每个字符之间有空格,因此数据的读取工作正常.

我一直在阅读ID3v2.3的官方文档,但我想我只是不太了解文本编码部分.

任何回复或链接到可能有帮助的文章将非常感谢!

关心罗斯

unicode encoding hex ascii id3

6
推荐指数
2
解决办法
7800
查看次数

标签 统计

ascii ×1

docker ×1

dockerfile ×1

encoding ×1

hex ×1

id3 ×1

java ×1

unicode ×1