有谁熟悉appfuse不?
急求高手帮忙解决问题!!!
在appfuse中如何引入包(*.jar).......我把*.jar包拷贝到工程中,但编译代码时说找不到那些包。。

解决方案 »

  1.   

    开始使用appfuse时,遇到很让人头疼的一件事就是明明在eclipse的Build path中导入了所需的包,但是在用ant部署的时候,提示找不到,于是到网上搜索相关内容,找了好长时间也没有找到有用的信息,为此郁闷了一天,第二天重新翻看appfuse的各种配置文件,终于在lib文件下的lib.properties和根目录下的properties.xml找到了答案。lib.properties主要是声明lib文件夹中所存在的包,类似于声明变量,声明之后,就可以直接供ant引用,要想添加添加自己的包必须在这里声明,例如想使用CISDistributedIndex.jar包,首先把该包复制到lib\CISDistributedIndex下,然后在lib.properties文件中追加如下行,CISDistributedIndex.jar=${lib.dir}/CISDistributedIndex/CISDistributedIndex.jar。注意,等式左边的名称可以随意指定。这样ant就可以直接通过${ CISDistributedIndex.jar},来加载lib/CISDistributedIndex/CISDistributedIndex.jar包了,以后如果发生变动,只需要修改一处就可以了。properties.xml是配置ant编译时所用到的包,由于ant编译DAO, Service,Web等要用到不同的包,所以在配置方面,要对它们分别配置,而不是笼统地将lib下面包都加载进来,如果你先添加了包,也就要在这里正确配置。接着上面的例子,假如你的DAO类用到了CISDistributedIndex.jar包中的类,那么你可以先properties.xml中找到 <path id="dao.compile.classpath">,然后比葫芦画瓢追加即可。<pathelement location="${CISDistributedIndex.jar}"/>,这样在编译时就不会在报错了。Service,Web的解决方法也是一样的,如果你不清楚哪些类用到哪些包,那么直接ant deploy吧,它会告诉你的,你所做的是就是看清楚它所报的错,工程大了要有耐心,找到了哪地方缺了包,直接用上面的方法,把它补上,然后再ant deploy,一切ok了,容易吧!
      

  2.   

    在lib目录下添加自己的jar文件以后,war包中是没有的,
    所以要在build.xml文件的war标签里边添加这句
    <lib dir=”lib/” includes=”*.jar”/>,
    使war包中的lib下也能有我们自己加的jar文件。
      

  3.   

    这build.xml文件在哪
    怎么我在我的工程中找不到它还有一楼所说的在lib文件下的lib.properties和根目录下的properties.xml的两个文件我也没有找到