draw.io 网页版二次开发(3):打包和部署(war包)

目录

一 说明

二 环境配置

1. 下载并安装 Apache Ant

2. 下载并安装JDK和JRE

3. 下载tomcat

4. Ant、JDK和JRE 环境变量的配置 

三  draw.io打包 

四 部署

五  最后


一 说明

        应公司项目要求,需要对draw.io进行二次开发,并将html界面通过iframe 嵌入到本公司产品中使用,但是由于功能限制,做到最后还是放弃了使用draw.io。但是之前的研究内容可不能浪费。便准备写个专栏进行记录,希望能够帮到需要将draw.io进行二次开发的朋友,其中有涉及到不正确的地方还请大家多包涵!

二 环境配置

1. 下载并安装 Apache Ant

        下载地址:Apache Ant(https://ant.apache.org/bindownload.cgi)(我的是1.10.14版本)。

     

2. 下载并安装JDK和JRE

        JDK 和JRE 下载地址:https://www.oracle.com/java/technologies/downloads/#jre8-windows

注意:这里需要提一句, JDK 和JRE路径不能是同一个。因为JDK和JRE的默认安装路径是同一个,所以这里就需要手动修改安装路径。

3. 下载tomcat

         下载地址:https://tomcat.apache.org/

        备注:tomcat不需要进行环境变量配置(前提是之前就安装了JDK和JRE),也不需要安装。下载了解压就能用。 我现在一直都是用的这个  startup.bat  文件进行启动。双击这个文件,如果出现下面的黑色的命令行弹窗,就表示tomcat安装成功了。

4. Ant、JDK和JRE 环境变量的配置 

        这里要求对Ant 、JDK和JRE进行环境变量配置。网上有很多现成的,我这里就不多说了。毕竟我也是按照网上搜的方法来配置的。比如:

        Ant环境变量配置:https://www.cnblogs.com/lfh-francis/p/4610207.html

        JDK和JRE环境变量配置:https://blog.csdn.net/qq_42623386/article/details/120446983

三  draw.io打包 

        上面所有的环境配置好了之后,就可以进行打包了。draw.io的是使用 Ant 进行打包的,会生成 war 包。 

        具体步骤:

                在ide中,进入到draw.io 项目文件夹中的 etc下的bulid 文件夹中,并执行命令:ant war

         可以发现,运行命令后,会不断有提示信息,直到打包完毕。打包完毕后,可以发现 draw.io根目录下的 build 文件夹中,出现 了一个 draw.war 包。这个就是部署时候需要用到的包了,接下来就开始进行部署。

四 部署

        打开tomcat解压后的文件夹,将上面的draw.war 包放到 webapps 文件夹下。

 然后进去到bin目录下,重新运行 startup.bat  批处理文件,会弹出下面窗口,就表示部署成功。然后运行  http://localhost:8080/draw/  就可以看到draw.io 的主界面了。

五  最后

        这个专栏算是结束了。很多都是自己摸索而来,肯定有不全之处,如果大家发现更好的东西,还请不吝赐教!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/616096.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构之——队列详解

目录 前言: 一、什么是队列 二、队列的实现 2.1 队列结构 2.2 队列初始化 2.3 队列销毁 2.4 入队列 2.5 出队列 2.6 获取队列头部元素 2.7 获取队列尾部元素 2.8 获取队列中有效元素个数 2.9 检测队列是否为空 三、 代码总览 Queue.h test.c 四、例题 前言…

SpringSecurity集成第三方登录

SpringSecurity 集成第三方登录 认证及自定义流程 首先我们提供一个实现了AbstractAuthenticationProcessingFilter抽象类的过滤器,用来代替UsernamePasswordAuthenticationFilter逻辑,然后提供一个AuthenticationProvider实现类代替AbstractUserDetail…

vue3vue3vue3vue3vue3vue3vue3vue3vue3vue3vue3vue3

纯vue3的语法 一.创建(基于vite) 1.在指定目录下运行 npm create vuelatest 项目名称:英文小写下划线数字回车表示确定是、否 左右切换路由、pina、单元测试、端到端的测试、开启eslint控制代码质量 先选择no,学的时候自己手动…

Golang | Leetcode Golang题解之第78题子集

题目: 题解: func subsets(nums []int) (ans [][]int) {set : []int{}var dfs func(int)dfs func(cur int) {if cur len(nums) {ans append(ans, append([]int(nil), set...))return}set append(set, nums[cur])dfs(cur 1)set set[:len(set)-1]df…

Reactor Netty 其他-响应式编程-018

🤗 ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱,有温度,有质量,有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace The Nex…

triton编译学习

一 流程 Triton-MLIR: 从DSL到PTX - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/671434808Superjomns blog | OpenAI/Triton MLIR 迁移工作简介https://superjom

ctfshow SSRF 351-358

做题前,需要先学习关于ssrf漏洞的相关知识 小注意: 当使用 file_get_contents() 函数访问远程 URL 时,它会尝试获取该 URL 指向的资源的内容,并将内容以字符串的形式返回。 如果 b.php 文件是一个 PHP 文件,它包含的内容取决于该 PHP 文件…

【QT学习】补充:qt使用已经存在的类

1.右键项目--》添加现有文件 注意:不是添加新文件!!! 2.添加配置

【Unity Shader入门精要 第6章】基础光照(二)

1. 获取环境光 unity shader中可以通过 UNITY_LIGHTMODEL_AMBIENT获取当前环境光颜色信息。 fixed4 frag(v2f i) : SV_Target {return UNITY_LIGHTMODEL_AMBIENT; }2. 漫反射 2.1 兰伯特模型 创建Chapter_6_Diffuse_Lambert作为测试材质创建Chapter_6_Diffuse_Lambert作为测…

i春秋-GetFlag

题目 考点 sql注入,md5加密,代码审计,利用eval函数 解题 参考wp https://www.cnblogs.com/qiaowukong/p/13630130.html找md5值 看见验证码中的提示,就是去找一个md5值前六位是指定值的数(严格来说不一定是数&…

408算法题专项-2019年

题目: 分析:要求空间复杂度为O(1),我们可以逆向假设可以开空间,得出一种思路,然后对这种思路优化空间即可得到O(1) 思路一:假设开空间 思考:再开…

【C语言题解】用函数来模拟实现strlen()、strcpy()、strcmp()、strcat()

🥰欢迎关注 轻松拿捏C语言系列,来和 小哇 一起进步!✊ 学习了函数后,老师让我们用函数来实现上面这四个字符串函数。 我们首先来了解一下这四个字符串函数: 1.strlen函数 用于获取字符串长度(不包括末尾…

读天才与算法:人脑与AI的数学思维笔记25_涌现理论

1. 人工智能新闻 1.1. 人工智能新闻报道算法的核心是如何将未经处理的原始数据转换成新闻报道 1.2. 很少有记者为美联社决定使用机器来帮助报道这些新闻持反对意见 1.2.1. 像“Wordsmith”这样的算法,具有自动化的洞察力、科学的叙事能力,现在正被应用…

2024年建筑施工特种作业人员安全生产知识试题

100分题库提供安全员考试试题、建筑安全员考试预测题、建筑安全员ABC考试真题、安全员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 单选题(1-10) 1.因生产安全事故受损害的从业人员,除…

打开远程连接的命令是什么?

远程连接是一种能够在不同设备之间建立连接并共享信息的技术。在许多情况下,我们需要通过远程连接来访问其他设备或处理一些远程任务。本文将介绍一些常用的打开远程连接的命令。 使用SSH连接远程设备 SSH(Secure Shell)是一种安全的网络协议…

大数据Scala教程从入门到精通第六篇:Scala编译结果反编译分析

一:Scala编译结果反编译分析 问题:为什么Scalac之后的生成的class文件有两个,一个带$的,一个不带$的? 不能直接java 执行scala编译的字节码文件。 直接运行的话就会报错,会报一个类没有被找到。 引入类库就…

免费思维13招之六:功能型思维

免费思维13招之六:功能型思维 这节来学习一下免费思维的另一大思维——功能型思维。 这个思维通俗易懂。功能型思维是指将其他产品的功能在我们的产品上进行体现,让客户获得免费的使用。 也就是说,客户买了你的产品,却可以免费得…

Android Studio在android Emulator中运行的项目黑屏

前言: 最近在做一个Android相关的小项目,因为之前这方面的项目做的比较的少。今天在使用虚拟机调试的时候经常出现一些莫名其妙的问题,经过自己多次的尝试和搜索终于解决了这些问题。 问题: 每次run(运行&#xff09…

报表-集成

1、部署报表服务器 以centos为例 1.1 将服务拷贝到服务器 其中JDK-17是对应平台的jdk 1.2 修改lite-report下的source.config 1.3 把设计好的报表文件拷贝到lite-report/report 1.4 启动服务:sh run.sh restart 2、使用Nginx location /litereport/ { …

【全面介绍下Spring】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…