使用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.jar4.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的同級目錄了。