使用Maven2 com4j插件实现Java COM Bridge
2008-09-10 10:57
525 查看
[场景]
在Windows系统中有一个应用程序在ABC.dll中提供了若干COM接口的实现,现在想在java程序中调用COM接口。
[准备]
1. 下载安装 Maven2
2. 下载 maven-com4j-plugin-1.0.jar, maven-com4j-plugin-1.0.pom 到本地,如 d:/。
3. 部署 maven-com4j 插件,运行
mvn isntall:install-file -DgroupId=org.jvnet.com4j -DartifactId=maven-com4j-plugin -Dversion=1.0 -Dpackaging=maven-plugin -Dfile=d:/maven-com4j-plug-1.0.jar
该命令会在本地的repository中生成一个 repository/org/jvnet/com4j/maven-com4j-plugin/1.0目录,其中已有maven-com4j-plug-1.0.jar文件,将 maven-com4j-plugin-1.0.pom 拷贝到同一目录。
[实现]
新创建一个目录为 myCOM4J,创建一个pom.xml文件,内容为:
<?xml version="1.0" encoding="UTF-8"?>
<project 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/maven-v4_0_0.xsd
">
<modelVersion>4.0.0</modelVersion>
<groupId>com.my</groupId>
<artifactId>mycom4j</artifactId>
<version>0.0.1</version>
<build>
<plugins>
<plugin>
<groupId>org.jvnet.com4j</groupId>
<artifactId>maven-com4j-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>gen-java-bridge</id>
<goals>
<goal>gen</goal>
</goals>
<configuration>
<file>C:/Program Files/xxx/bin/ABC.dll</file>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
在该目录下运行 mvn generate-sources,则会生成 target/generated-sources/com4j/java/org/jvnet/com4j/generated 目录,其中包括了生成的COM对应的java文件,如ClassFactory.java, Ixxx.java,这些文件可以import到java项目中被使用。
[参考]
http://maven.apache.org/
https://com4j.dev.java.net/maven-com4j-plugin/index.html
在Windows系统中有一个应用程序在ABC.dll中提供了若干COM接口的实现,现在想在java程序中调用COM接口。
[准备]
1. 下载安装 Maven2
2. 下载 maven-com4j-plugin-1.0.jar, maven-com4j-plugin-1.0.pom 到本地,如 d:/。
3. 部署 maven-com4j 插件,运行
mvn isntall:install-file -DgroupId=org.jvnet.com4j -DartifactId=maven-com4j-plugin -Dversion=1.0 -Dpackaging=maven-plugin -Dfile=d:/maven-com4j-plug-1.0.jar
该命令会在本地的repository中生成一个 repository/org/jvnet/com4j/maven-com4j-plugin/1.0目录,其中已有maven-com4j-plug-1.0.jar文件,将 maven-com4j-plugin-1.0.pom 拷贝到同一目录。
[实现]
新创建一个目录为 myCOM4J,创建一个pom.xml文件,内容为:
<?xml version="1.0" encoding="UTF-8"?>
<project 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/maven-v4_0_0.xsd
">
<modelVersion>4.0.0</modelVersion>
<groupId>com.my</groupId>
<artifactId>mycom4j</artifactId>
<version>0.0.1</version>
<build>
<plugins>
<plugin>
<groupId>org.jvnet.com4j</groupId>
<artifactId>maven-com4j-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>gen-java-bridge</id>
<goals>
<goal>gen</goal>
</goals>
<configuration>
<file>C:/Program Files/xxx/bin/ABC.dll</file>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
在该目录下运行 mvn generate-sources,则会生成 target/generated-sources/com4j/java/org/jvnet/com4j/generated 目录,其中包括了生成的COM对应的java文件,如ClassFactory.java, Ixxx.java,这些文件可以import到java项目中被使用。
[参考]
http://maven.apache.org/
https://com4j.dev.java.net/maven-com4j-plugin/index.html
相关文章推荐
- jquery使用uploadify插件实现多文件的上传(java版)
- 演示使用 JACOB : Java COM Bridge 操纵 Word 文档
- maven使用exec插件运行Java main方法,以下是3种不同的操作方式。
- jquery使用uploadify插件实现多文件的上传(java版)
- 使用cargo-maven2-plugin插件实现自动发版和远程发版
- Jetty在win10上的配置,IDEA中配置Jetty,Maven中配置Jetty插件,Eclipse中配置Jetty插件及其使用,通过java代码内嵌Jetty Server
- java分页的实现,插件PageHelper的使用及原理
- Opencv实现盲水印技术(二)——使用maven构建Java Web工程
- 使用 RJB(Ruby Java Bridge) 实现 Ruby 的CORBA RPC
- Java学习之Idea使用Maven配置Jetty插件
- maven使用jstl表达式和The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application解决
- 使用 maven 插件 maven-shade-plugin 对可执行 java 工程及其全部依赖 jar 进行打包
- 如何使用maven2.0插件创建一个java project
- 使用maven插件对普通的java项目如何打jar包
- PHP调用JAVA的实现_JavaBridge.jar的使用
- 【错误解决】[Maven]使用Maven配置Jstl出现异常:The absolute uri: http://java.sun.com/jsp/jstl/core cannot...
- Maven 教程(15)— 实现多个项目关联自动化构建(maven-invoker-plugin插件的使用)
- maven学习笔记:使用eclipse的maven插件创建java_spark项目
- 使用VC++ ATL实现Office的COM插件
- Intellij IDEA使用 JRebel 搭配 maven-jetty-plugin插件实现热部署