Docs

Documentation versions (currently viewingVaadin 24)
Documentation translations (currently viewingChinese)

本页面为机器翻译自官方文档,原文见 http://vaadin.com/docs。翻译内容可能包含错误、不准确或表达不当之处。Vaadin 不对该翻译的准确性、可靠性或时效性作出保证或声明。

构建项目

对您的 Vaadin 应用程序进行生产构建。

到目前为止,walking skeleton 一直在开发模式下运行。一旦您添加了有意义的功能,就可以将应用程序部署到生产环境。为此,您需要进行一次生产构建。此构建将收集所需的前端资源和依赖,并对其进行转译、最小化和打包,从而使应用加载更快。

进行生产构建

在 walking skeleton 中,您使用 Vaadin Maven 插件进行生产构建。通过激活 production 配置文件来完成,示例如下:

Source code
bash
./mvnw clean package -Pproduction
bash
powershell
powershell

构建完成后,请检查 target 目录。如果您的 skeleton 名为 my-application,则应能找到名为 my-application-1.0-SNAPSHOT.jar 的文件。

production 配置文件不仅会构建前端,还会排除开发服务器 bundle,因为其中包含的功能在生产环境中不会被使用。

构建 Docker 镜像

walking skeleton 包含一个 Dockerfile,允许您将应用程序打包为 Docker 镜像。

Important
安装 Docker
在构建镜像之前,您必须在系统上安装 Docker。

在项目根目录下运行以下命令来构建镜像:

Source code
terminal
docker build -t my-application:latest .

该命令将在生产模式下构建应用,并生成一个被标记为 my-application:latest 的 Docker 镜像。

使用商业组件进行构建

如果您的应用程序使用了商业组件,您需要一个许可证密钥

在本地使用 Maven 构建时,Vaadin Maven 插件会自动检测许可证。对于 Docker 构建,您必须显式地以 secret 方式传递密钥:

Source code
bash
docker build -t my-application:latest --secret id=proKey,src=$HOME/.vaadin/proKey .
bash
powershell
powershell

如果您需要使用离线密钥,可以如下传递:

Source code
bash
docker build -t my-application:latest --secret id=offlineKey,src=$HOME/.vaadin/offlineKey .
bash
powershell
powershell
Note
幕后揭秘

--secret 选项之所以生效,是因为 walking skeleton 中提供的 Dockerfile 会挂载这些文件,解析它们,并传递给 Maven:

Source code
docker
# (为简洁省略前面的构建步骤)
# ...

RUN --mount=type=cache,target=/root/.m2 \
    --mount=type=secret,id=proKey \
    --mount=type=secret,id=offlineKey \
    sh -c 'PRO_KEY=$(jq -r ".proKey // empty" /run/secrets/proKey 2>/dev/null || echo "") && \
    OFFLINE_KEY=$(cat /run/secrets/offlineKey 2>/dev/null || echo "") && \
    ./mvnw clean package -Pproduction -DskipTests -Dvaadin.proKey=${PRO_KEY} -Dvaadin.offlineKey=${OFFLINE_KEY}'

有关 Docker 构建 secret 的更多信息,请参阅 Docker documentation