STAF Customize Service ---打Jar包

今天写完了一个service,打jar包显示正常,但是重启STAF的时候出现了问题,总是提示:

 

SERVICE DeviceService LIBRARY JSTAF EXECUTE C:/STAF/DeviceService.jar

Error code: 38
Reason    : Error constructing service, JSTAF, Result: ClassNotFound: com.ibm.
af.service.DeviceService

 

造成这个问题的还是jar包没打好,网上搜了搜,发现这篇文章不错。按其操作,okay!

 

如果用Eclipse的话,需要先配置Project的“Java Build Path”:右键点击Project--》"Propertities”--》"Java Build Path"-->"Source"-->输入"Default output folder"为"工程名/STAF-INFO/classes" .

如图,

 

ps: Eclipse 打jar包好像有问题。。。只能用命令行了。。谁有办法用Ep打包麻烦告诉我谢谢!

 

===========================================================

 

 

http://hi.baidu.com/widebright/blog/item/d70ee7ddcc0e84ec76c63839.html

 

完了编译一下就可以了。不过STAF要求注册的service是一个jar包,而且包里面的文件按一定的规定。
就是有个MANIFEST.MF 文件还有 一个STAF-INF文件夹。可以文章开始部分参考资料那个网页来得到详细信息了。
我是在一个linux服务器上测试的,一开始本机编译一个 *.jar过去,注册的时候竟然提示java版本不对,后来把*.java代码直接传过去然后在那里本地编译了一下才行。


这个就是完整的文件结构信息了,只要最后的那个widebright.jar就可以注册service了。


mkdir STAF-INF
mkdir STAF-INF/classes                                                           要按照一定的文件夹结构

[root@Computer-A widebright]# javac -d STAF-INF/classes *.java                              编译代码
[root@Computer-A widebright]# jar cfm widebright.jar MANIFEST.MF      STAF-INF           打包 jar文件

[root@Computer-A widebright]# find ./
./
./widebright.jar
./MANIFEST.MF
./STAF-INF
./STAF-INF/classes
./STAF-INF/classes/widebright
./STAF-INF/classes/widebright/widebrightservice.class
./widebrightservice.java

--------------------------------------------
MANIFEST.MF文件内容如下,只要根据需要修改Service-Class:后面的字符串指定 package 和类名就可以了,这里要写对才行,不然注册不成功的。

[root@Computer-A widebright]# cat MANIFEST.MF
Manifest-Version: 1.0

Name: staf/service/info
Service-Class: widebright.widebrightservice

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值