当前位置: 首页 > ops >正文

【无标题】使用JEasyOpc开发OPCDA采集中间件

使用JEasyOpc开发OPCDA采集中间件

    • 1.JEasyOpc下载
    • 2.修改JEasyOpc源码及打包安装
    • 3.Pom 引入jeasy2.3.2.jar
    • 4.maven pom 配置打包
    • 5.cmd执行(手动指定 main主程序入口)
    • 6.EXE4J打包jar包,生成exe可执行文件

1.JEasyOpc下载

jeasyopc源码下载:https://sourceforge.net/projects/jeasyopc/
32位java sdk:可从官网下载
JCustomOpc.dll:在下载jeasyopc/lib中。

2.修改JEasyOpc源码及打包安装

注意:这个项目需要用32位的jdk 运行
默认使用ClassLoader方式进行读取配置文件,IDE使用时没问题,但编译为jar包时会无法读取到配置文件,修改源代码文件PropertyLoader.java:


```java
ClassLoader cl = ClassLoader.getSystemClassLoader();
//修改为
ClassLoader cl = PropertyLoader.class.getClassLoader();

在这里插入图片描述
以下命令在这里面运行以下命令在这里面运行
先创建一个target 目录
编译命令

javac -cp "lib/*" -d target src\java\javafish\clients\opc\*.java src\java\javafish\clients\opc\asynch\*.java src\java\javafish\clients\opc\browser\*.java src\java\javafish\clients\opc\component\*.java src\java\javafish\clients\opc\exception\*.java src\java\javafish\clients\opc\lang\*.java src\java\javafish\clients\opc\property\*.java src\java\javafish\clients\opc\variant\*.java

打包需要在创建META-INF/MANIFEST.MF

jar -cvfm jeasy2.3.2.jar META-INF\MANIFEST.MF -C target .

检查确保 jeasy2.3.2.jar 包含 JOpc:

jar tf lib\jeasy2.3.2.jar | Select-String "JOpc.class"

3.Pom 引入jeasy2.3.2.jar

jeasyopc.jar jeasyopc.jar 1.0 system ${project.basedir}/lib/jeasy2.3.2.jar

4.maven pom 配置打包

<build><plugins><!-- 移除 maven-jar-plugin,改用 shade-plugin --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.2.4</version><executions><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><transformers><transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><mainClass>com.wgtx.yfzx.opcda.OPCClient</mainClass></transformer></transformers></configuration></execution></executions></plugin></plugins>
</build>

5.cmd执行(手动指定 main主程序入口)

在这里插入图片描述

  java -cp "opcdaclient-1.1.1.jar;lib\jeasy2.3.2.jar" com.wgtx.yfzx.opcda.OPCClient

运行效果图:
在这里插入图片描述

6.EXE4J打包jar包,生成exe可执行文件

1、exe4j下载地址:https://www.ej-technologies.com/download/exe4j/files
下载太慢,附上网盘下载链接:
链接:https://pan.baidu.com/s/1JDpN70wxPBAqIPqijuOGiw提取码:6666
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
后面就直接点下一步就行。
这是我的目录,我把lib目录也复制一份到jar的同级目录了。
在这里插入图片描述

http://www.xdnf.cn/news/9143.html

相关文章:

  • Lua中的`self`参数:揭秘隐藏的“对象上下文”
  • 1992-2021年各省工业增加值数据(无缺失)
  • Linux的五种IO模型
  • Rust语言学习教程、案例与项目实战指引
  • c/c++的opencv双边滤波
  • 八大员-质量员考试复习资料有哪些?
  • 【Marp】自定义主题 - box01
  • Kotlin 实战:Android 设备语言与国家地区的 5 种获取方式
  • Playwright 常用命令、参数详解及使用示例
  • 精益数据分析(88/126):从营收平衡到规模化扩张——企业增长的最后一道关卡
  • 如何保护网络免受零日漏洞攻击?
  • php 实现基数排序
  • 编程规范Summary
  • ASP.NET Web Forms框架识别
  • 【论文精读】2024 arXiv --VEnhancer现实世界视频超分辨率(RealWorld VSR)
  • 【数据结构】——二叉树堆(下)
  • Windows系统下 NVM 安装 Node.js 及版本切换实战指南
  • 什么是 WPF 技术?什么是 WPF 样式?下载、安装、配置、基本语法简介教程
  • 云效流水线Flow使用记录
  • 论文阅读笔记——Step1X-Edit: A Practical Framework for General Image Editing
  • Oracle 正则表达式匹配(Oracle 11g)
  • Rockey Linux 安装ffmpeg
  • 抖音不获取位置会显示ip属地吗?全面解析
  • AWS EC2 实例告警的创建与删除
  • some面试题2
  • 15.进程间通信(一)
  • Linux 527 重定向 2>1 rsync定时同步(未完)
  • python打卡day38
  • Django【应用 02】第一个Django应用开发流程图
  • WPF【11_1】WPF实战-重构与美化(Entity Framework)