在URCap中引入第三方的包
中文网站上没有多少人使用UR机械臂啊,查点东西麻烦死了。最后在UR的官方论坛上查到了解决办法!
令人崩溃的错误提示
好不容易弄好了就不错回去截图了吧,我在UR的Java插件里引入了一个RXTXcomm.jar
,是串口通讯的包。mvn install
编译一切都正常,可是一进到URsim就报错,The 3rd Party Dependency ‘gnu.io’ is unavailable!gnu.io
就是RXTXcomm.jar
引入的包!然后整个插件都不能用了,这可怎么办!
第一步,安装这个包到Maven里
光把RXTXcomm.jar拷到自己机器的java路径(我的是/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext
)下是不行的,UR不认啊。要这样操作:
mvn install:install-file -Dfile=resources/RXTXcomm.jar -DgroupId=rxtx -DartifactId=rxtx -Dversion=1.0.0 -Dpackaging=jar
-Difle:为jar包存放路径
-DgroupId:为jar包id,可以随便写
-DartifactId:为artifactId,可以随便写
-Dversion:为jar版本,可以自己定义
然后在这个路径(~/.m2/repository
)下面就会出现你的jar包:rxtx/rxtx/1.0.0/rxtx-1.0.0.jar
,这个包已经被重命名成这样子了。
第二步,修改插件项目的pom.xml
要改如下几个地方:
<dependency>
<groupId>rxtx</groupId>
<artifactId>rxtx</artifactId>
<version>1.0.0</version>
</dependency>
这一段加在<dependencies>
标签下面。
还有:
<Import-Package>
com.ur.urcap.api*,
!gnu.io.*,
*
</Import-Package>
<Embed-Dependency>rxtx</Embed-Dependency>
<Import-Package>
标签是原来就有的,全局搜索一下就行,但是特别坑,我第一次全局搜索没搜索到以为pom.xml
中不存在这个标签!后来才知道,eclipse的向前搜索和向后搜索是分开的,向前搜不到要记得向后再搜一次。
其中!gnu.io.*
一行是后加的,前面一定要加感叹号,后面与报错的包名(我这里就是gnu.io.*
了)保持一致。
<Embed-Dependency>
标签是原pom.xml
中没有的,自己加在</Import-Package>
下面就行,标签内要与刚才你自己乱写的artifactId
保持一致。
大功告成!
UR成功识别到gnu.io.*
这个第三方库,插件运行正常。