用集装箱装LEADTOOLS与码头工人和Maven - Java应用程序

本教程展示了如何设置一个Java控制台应用程序与Maven使用LEADTOOLS SDK码头工人容器。

概述
总结 本教程介绍了如何用集装箱装一个Java控制台应用程序使用LEADTOOLS Maven和码头工人。
完成时间 30分钟
平台 Java控制台应用程序使用码头工人与Maven
IDE Eclipse
开发许可 下载LEADTOOLS

所需的知识

在工作之前用集装箱装LEADTOOLS与码头工人和Maven - Java应用程序教程中,确保您安装LEADTOOLS SDK以及码头工人桌面。如果你没有下载,使用下面的链接访问各自的安装程序。

准备项目和码头工人使用

请注意

因为Java项目是使用Maven,一定要把你的包和主类主要\ src \ \ java \ < PROJECT_NAME > \ Main.java,否则Maven将无法定位在执行的码头工人容器。

创建一个文件夹叫在相同的目录中包含Java项目src文件夹中。在文件夹创建另一个文件夹src。添加应用程序所需的所有LEADTOOLS JAR文件的这个新src文件夹中。创建一个新文件pom.xml在相同的src目录中。

将下面的代码添加到pom.xml文件。

<项目xmlns = " http://maven.apache.org/POM/4.0.0 " xmlns: xsi = " http://www.w3.org/2001/XMLSchema-instance "xsi: schemaLocation = " http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”><modelVersion>4.0.0</ modelVersion><groupId>org.leadtools</ groupId><artifactId>应用程序</ artifactId><版本>1.0</版本>

将以下代码添加到pom.xml文件来确定变量更高版本代码,设置适当的建筑所需的编译器版本。

<属性><version.maven-install-plugin>3.0.0-M1</ version.maven-install-plugin><version.leadtools>21.0.0.1</ version.leadtools><maven.compiler.source>15</ maven.compiler.source><maven.compiler.target>15</ maven.compiler.target></属性>

下一步,您需要定义每个LEADTOOLS JAR文件添加到项目的依赖。请注意$ {version.leadtools},这将从上面的变量我们设置的值。一个<依赖> < /依赖>块和执行<执行> < / >块需要被添加为每个LEADTOOLS JAR项目中。

<依赖关系><依赖><groupId>com.leadtools</ groupId><artifactId>leadtools</ artifactId><版本>$ {version.leadtools}</版本></依赖></依赖关系><构建><插件><插件><groupId>org.apache.maven.plugins</ groupId><artifactId>maven-install-plugin</ artifactId><版本>$ {version.maven-install-plugin}</版本><执行><!——Leadtools Jar><执行><id>install-external-leadtools-jar</ id><阶段>初始化</阶段><目标><目标>安装文件</目标></目标><配置><groupId>com.leadtools</ groupId><artifactId>leadtools</ artifactId><版本>$ {version.leadtools}</版本><文件>$ {project.basedir} /领导/ src / leadtools.jar</文件><包装>jar</包装><generatePom>真正的</ generatePom></配置></执行></执行></插件>

这最后一部分指示Maven生成的JAR文件运行的码头工人可以执行它。改变< mainClass > < / mainClass >块匹配程序的包名和主要类。

<——构建可运行的应用程序Jar><插件><groupId>org.apache.maven.plugins</ groupId><artifactId>maven-assembly-plugin</ artifactId><执行><执行><阶段></阶段><目标><目标></目标></目标><配置><存档><清单><addClasspath>真正的</ addClasspath><mainClass>set_license_maven.Main</ mainClass></清单></存档><descriptorRefs><descriptorRef>jar-with-dependencies</ descriptorRef></ descriptorRefs></配置></执行></执行></插件></插件></构建></项目>

创建码头工人文件

在相同的目录中pom.xml文件,创建一个新文件命名Dockerfile。这个文件将包含所有的指令构建集装箱码头工人。的Dockerfile指示在集装箱码头工人安装所需的依赖项,一切功能正常。

建立项目文件

这部分的Dockerfile将设置项目文件在容器中运行。首先,它安装SDK应用程序所需的(相应改变以匹配、信息发现hub.docker.com/_/debian)。

下一个设置容器的当前目录/应用程序和复制文件所需的Maven在当地目标目录的容器应用程序目录中。运行Maven构建JAR文件。

# # #建筑项目(https:/ /hub.docker.com/_/debian)从maven: 3.6 -openjdk-17-slim build-envWORKDIR /应用程序# Maven所需的文件复制到容器中复制/ src / app / src复制/领导/ app /铅pom副本。xml / app / pom.xml#构建JAR文件运行mvn初始化运行mvn - f / app / pom。xml全新安装

设置运行时环境

下一个部分Dockerfile将在容器安装的运行时环境。

首先,它安装运行时所需的应用程序(匹配相应的变化,信息发现hub.docker.com/_/debian)并设置容器的当前目录临时。然后设置一个容器环境DEBIAN_FRONTEND非交互式防止确认或可选的输入请求通过安装依赖关系。最后,它更新apt-get和安装apt-utilswget进一步促进安装其他依赖项。

# # #建筑运行时图像(hub.docker.com/_microsoft-dotnet-runtime)从debian: sidWORKDIR / temp#生成恰当的缓存ENV DEBIAN_FRONTEND非交互的运行apt-get更新\& & apt-get安装- y apt-utils wget

安装Java和设置环境变量

为了运行Java应用程序在这个集装箱码头工人,我们需要安装Java Java命令和设置环境变量来访问。

使用wget指示容器下载安装所需的JDK(调整链接与JDK在您的应用程序)。使用apt-get指导安装文件的容器。

ENV行设置环境变量来告诉容器如何使用Java命令。的运行命令安装了Java和容器理解Java命令和更新apt-get

#安装Javawget https运行:/ /download.java.net/openjdk/jdk14/ri/openjdk-14 + 36 _linux-x64_bin.tar.gz运行apt-get安装- y - no-install-recommends openjdk-15-jdkENV JAVA_HOME = / usr / lib / jvm / openjdk-15-jdkENV = $ PATH: $ JAVA_HOME / bin运行java -版本# APT更新缓存运行apt-get更新

设置LEADTOOLS依赖性

本节安装所需的依赖项LEADTOOLS为了在容器中运行。

微软字体部分只需要与一个GUI应用程序。的wkhtmltopdf部分需要处理HTML和提供依赖项许可处理。

#安装导致依赖性(https:/ /m.ahtuanjie.com/help/sdk/v21/main/api/getting-started-with-the-leadtools-linux-libraries-and-demo-projects.html)运行apt-get安装- y \uuid- devuuid运行gcc g++ libc-dev-bin \linux-libc-dev libx11-6 libx11-dev libxt6 \libxt-dev sqlite3 libsqlite3-dev libfreetype6#安装微软字体(http:/ /askubuntu.com/a/25614)#运行回声“ttf-mscorefonts-installer msttcorefonts / accepted-mscorefonts-eula选择真正的“| debconf-set-selections#运行apt-get安装- y \# fontconfig ttf-mscorefonts-installer#安装wkhtmltopdf (http:/ / wkhtmltopdf.org)wget - q https运行:/ /github.com/wkhtmltopdf/packaging/releases/download/0.12.6 buster_amd64.deb——1/wkhtmltox_0.12.6 - 1.运行apt安装- y -允许匿名\/ wkhtmltox_0.12.6 - 1. buster_amd64.deb运行ldconfig

最后设置

在最后一节中,我们做最后的清理,最后设置,并指定如何初始化应用程序。

设置容器当前目录应用程序和删除临时目录我们不再需要。如果您的应用程序是基于web的应用程序,取消了80年公开所以您的应用程序将在端口80上进行侦听,改变端口号。接下来的内容应用程序目录存储在容器中buid-env部分粘贴到应用程序文件夹中。最后,我们组的命令java jar app.jar当我们开始运行触发应用程序运行的容器。

#删除临时文件WORKDIR /应用程序运行rm射频/ temp# 80年公开#复制并部署应用程序复制——从= build-env / app。/复制——从= build-env / app /目标/ app - 1.0 - jar依赖项。jar。/ app.jar入口点(“java”,“罐子”,“app.jar”]

运行该项目

构建集装箱码头工人

打开命令提示符/终端Windows PowerShell并导航到项目文件夹,其中包含了Dockerfile使用下面的命令。

cd“< PathToProject >”

构建和容器的名字< project_name >所有小写格式和单一词使用下面的脚本:

码头工人建造- - - - - -t < project_name >。

为码头工人可能需要几分钟才能完成。一旦完成,就可以运行。

运行该集装箱码头工人

一旦建码头工人形象,使用下面的命令运行容器:

码头工人运行< project_name >

码头工人运行命令

如果您的应用程序需要用户输入,您需要运行这个命令允许交互:

码头工人运行- - - - - -我< project_name >

如果你的应用程序需要导入/导出文件,你可以通过这个命令直接到一个本地目录:

码头工人运行- - - - - -v/c/温度:/应用程序/数据< project_name >

这将当地的地图C: \ Temp文件夹的容器/ app /数据文件夹中。

总结

本教程展示了如何用集装箱装一个Java应用程序在一个码头工人容器。

另请参阅

net
iOS
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。