lim22 2010-01-19 11:56
浏览 326
已采纳

大家在Ant脚本里, 谁引用过打在JAR包里的lib文件夹里的JAR文件作为ClassPath啊?

大家在Ant脚本里, 谁引用过打在JAR包里的lib文件夹里的JAR文件作为ClassPath啊?
各位兄弟好,我有个Ant问题, 十分感谢!
我写了个Eclipse插件, 并打包发布在安装MyEclipse的根目录下./MyEclipse/eclipse/plugins/MyPlugin.jar.
此插件依赖于另一个存着所有第三方依赖JAR包的插件MyThirdLibPlugin.jar.
我也把这个插件打包放在安装MyEclipse的根目录下./MyEclipse/eclipse/plugins/MyThirdLibPlugin.jar.

然后用MyEclipse运行我这个./MyEclipse/eclipse/plugins/MyPlugin.jar(此插件依赖于MyThirdLibPlugin.jar) 

因为MyPlugin.jar运行时,需要运行一段Ant脚本, 在Ant脚本里,第一个Target就要读取所需的所有依赖JAR包, 也就是设置 
classpath, 如下: 





 <path id="project.classpath2"> 
   <fileset dir="${lib.dir}"           includes="*.jar"/> 
 </path> 

因为这些依赖的JAR包,
我都打包在上面所说的MyPlugin.jar所依赖的MyThirdLibPlugin.jar包的lib目录下
./MyEclipse/eclipse/plugins/MyThirdLibPlugin.jar:lib/
我的问题是, 在给"${lib.dir}"传值时,

在前面的Property里, 我传递的这个"${lib.dir}", 可以如下这么些吗?

我在看Ant的官方开发指南, 有这么段:
public class Path
extends DataType
implements java.lang.Cloneable
This object represents a path as used by CLASSPATH or PATH environment variable.








因为Ant所依赖的JAR包都放在要运行的MyPlugin.jar所依赖的MyThirdLibPlugin.jar包的lib目录下.

我上面这么写对吗? 有语法错误吗? Ant可以识别这个目录吗?
如果不这么写, 那这种情况吗应该怎么写啊?

  • 写回答

2条回答 默认 最新

  • iteye_8658 2010-01-19 19:59
    关注

    你这么扩展能在linux下用吗? linux是用“:”代替windows下的“;”,我相信你找的那段代码就是在linux下的设置classpath的方法,而你却认为它是jar包里的jar, 根本不是这么回事。

    我不知道为什么要在MyThirdLibPlugin.jar里建一个lib目录,是eclipse的plugin开发要求这样的吗? 我记得好像没有这个要求。Eclipse在运行plugin的时候也是在classpath里找到要找的类就可以了,怎么会到一个jar里再找一个目录lib,然后再找jar呢?

    建议你试一下,把你的MyThirdLibPlugin.jar里的lib下的jar全部先unjar, 再打成你的MyThirdLibPlugin.jar, 我相信这样一定能行。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看