这里描述了 Jigsaw 的以下好处:
作为 Project Jigsaw 的一部分,所有 Java 平台 API 都已拆分为单独的模块。将所有 Java API 拆分为模块的好处是您现在可以指定应用程序需要的 Java 平台模块。知道您的应用程序需要哪些 Java 平台模块,Java 可以打包您的应用程序,仅包括您的应用程序实际使用的 Java 平台模块。
但是,我不明白它是如何工作的,因为据我所知,Java 并没有将所需的模块直接放在 JAR 中。它只是在模块路径中寻找它们。那么,Java 是如何减少 JAR 大小的呢?
我编写了以下内容Dockerfile,应该运行任意命令(通过通过 的参数提供一个命令docker run):
FROM ubuntu:20.04
RUN apt -y update && apt-get -y update
RUN apt install -y python3 git
CMD bash
Run Code Online (Sandbox Code Playgroud)
但是当我尝试传递命令时,例如cd workspace我得到以下信息:
C:\Users\user>docker run -it cloudbuildtoolset:latest cd workspace
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "cd": executable file not found in $PATH: unknown.
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
请不要建议我重新启动我的机器/docker/任何东西