如何用shell调用jar包?

fatfoxz 2008-06-19 04:57:30
如何用shell调用jar包!
我做成了A.jar(带有main函数),但要调用B.jar和C.jar的类,怎么实现用shell调用?

我做的是按客户要求做的商品,请不要告诉我改变现有的东西!
...全文
654 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fatfoxz 2008-06-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 RainRainbow 的回复:]
cp=a.jar:b.jar:c.jar
main="com.xxx.xxx.Main"
java -classpath $cp $main
[/Quote]
这个方案我也尝试了,但是找不到main函数,路径是不会错的!!我的写法:
cp=pmlinatools.jar:commons-logging.jar:struts.jar:activation.jar:classes12.jar:commons-beanutils.jar:commons-collections.jar:commons-dbcp-1.1.jar:commons-dbutils-1.0.jar:commons-digester.jar:commons-fileupload.jar:commons-lang.jar:commons-pool-1.1.jar:commons-validator.jar:jakarta-oro.jar:log4j-1.2.8.jar:mail.jar:mailapi.jar:msw-dbcommon.jar:mswfw-struts16.jar:multipart-filter.jar
main="jp.co.msw.ina.pmlinatools.PmlInaNewtonTransmitter"
java -classpath $cp $main
fatfoxz 2008-06-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hye4 的回复:]
举个例子:

这是linux下的:
#!/bin/sh
nohup java -cp .:./lib/AlarmCommon.jar:./lib/log4j-1.2.9.jar:ZCTT7HXL.jar com.ffcs.oss.inms.zctt.ZCTT > /dev/null &


这是window下的:
java -cp .;./lib/log4j-1.2.9.jar;ZCTT7HXL.jar com.ffcs.oss.inms.zctt.ZCTT
pause
[/Quote]
我是Solaris 10,用了你的linux下的那个方案后,显示:“Sending output to nohup.out”,但是没有实现我要的效果(在Windows下已经证明,jar是好用的),能再帮忙分析一下吗?!

我的shell:
#!/bin/sh
nohup java -cp .:./pmlinatools.jar:./commons-logging.jar:./struts.jar:./activation.jar:./classes12.jar:./commons-beanutils.jar:./commons-collections.jar:./commons-dbcp-1.1.jar:./commons-dbutils-1.0.jar:./commons-digester.jar:./commons-fileupload.jar:./commons-lang.jar:./commons-pool-1.1.jar:./commons-validator.jar:./jakarta-oro.jar:./log4j-1.2.8.jar:./mail.jar:./mailapi.jar:./msw-dbcommon.jar:./mswfw-struts16.jar:./multipart-filter.jar com.ffcs.oss.inms.zctt.ZCTT > /dev/null &
hye4 2008-06-20
  • 打赏
  • 举报
回复
我的shell:
#!/bin/sh
nohup java -cp .:./pmlinatools.jar:./commons-logging.jar:./struts.jar:./activation.jar:./classes12.jar:./commons-beanutils.jar:./commons-collections.jar:./commons-dbcp-1.1.jar:./commons-dbutils-1.0.jar:./commons-digester.jar:./commons-fileupload.jar:./commons-lang.jar:./commons-pool-1.1.jar:./commons-validator.jar:./jakarta-oro.jar:./log4j-1.2.8.jar:./mail.jar:./mailapi.jar:./msw-dbcommon.jar:./mswfw-struts16.jar:./multipart-filter.jar com.ffcs.oss.inms.zctt.ZCTT > /dev/null &

你的shell怎么会用到我的类?com.ffcs.oss.inms.zctt.ZCTT 这个改成你的主类
fatfoxz 2008-06-19
  • 打赏
  • 举报
回复
我的是在Solaris下的!!
应该和linux一样!

DOS里的pause怎么实现?
hye4 2008-06-19
  • 打赏
  • 举报
回复
区别就是windows下用分号,
linux下用冒号
hye4 2008-06-19
  • 打赏
  • 举报
回复
举个例子:

这是linux下的:
#!/bin/sh
nohup java -cp .:./lib/AlarmCommon.jar:./lib/log4j-1.2.9.jar:ZCTT7HXL.jar com.ffcs.oss.inms.zctt.ZCTT > /dev/null &


这是window下的:
java -cp .;./lib/log4j-1.2.9.jar;ZCTT7HXL.jar com.ffcs.oss.inms.zctt.ZCTT
pause
RainRainbow 2008-06-19
  • 打赏
  • 举报
回复
cp=a.jar:b.jar:c.jar
main="com.xxx.xxx.Main"
java -classpath $cp $main
fatfoxz 2008-06-19
  • 打赏
  • 举报
回复
能提供各例子吗?
我没写过shell!!
kuyesuifeng 2008-06-19
  • 打赏
  • 举报
回复
把这三个jar加入classpath里,直接在命里行里调用有main方法的那个就可以了
laorer 2008-06-19
  • 打赏
  • 举报
回复
set classpath = %classpath%;A.jar;B.jar;C.jar
java package.MainClass
试试

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧