机器学习和生物信息学实验室联盟

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6758|回复: 1
打印 上一主题 下一主题

关于运行JAR包中的class

[复制链接]
跳转到指定楼层
楼主
发表于 2011-8-13 18:34:16 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 xmubingo 于 2011-8-13 18:35 编辑

引用自 @fiona
jar包中含有多个.class文件,如test.jar 包中包含test1.class,test2.class,test3.class,且这些文件都包含main函数
要运行test1中的main函数,在命令行中先进入jar所在目录,然后输入以下命令即可运行test1
java -classpath test.jar test1
如果还有其他参数设置,可以在以上命令后面跟上参数。

命令格式:
  1. java -classpath [jar-name] [filename]
复制代码
jar-name: jar文件名
filename: 包含main函数的.class文件


读了fiona这篇文章,很有启发。
基本上运行JAR的包,我们都用
  1. java -jar XXX.jar -args1 -args2
复制代码
这是建立在我们的jar包里配置了main函数的入口是哪个class的基础上。因为我们在导出JAR包的时候都会选择一个默认的main入口class。

有些时候我们需要运行一个JAR包里面的多个带有main的函数,这个时候就比较麻烦。可以运用@fiona提到的方法。
  1. java -classpath XXX.jar main1 -args1 -args2
复制代码
这个命令的理解是这样的,将XXX.jar包当作外部包加入到classpath中,如此,在后面直接运行main1.class。
而如果这个filename不是在默认的package里,假如在一个名字为homework的package里,那么运行时应该该为:
  1. java -classpath XXX.jar homework.main1 -args1 -args2
复制代码
用这种方式就可以随意运行JAR包中带有main入口的class。

其实就像我们用命令javac去编译好filename.java,在用java filename去运行程序一样。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享
回复

使用道具 举报

沙发
发表于 2011-8-13 21:27:25 | 只看该作者
好帖子,加精华!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

机器学习和生物信息学实验室联盟  

GMT+8, 2024-11-23 13:09 , Processed in 0.072925 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表