java 反射jar,java – 在交付单个jar并使用反射时,如何避...

我有一个代码库,我想生成几个可交付的jar文件,每个文件都要从命令行运行,并访问代码库的某些功能.运行时,一些命令行参数是jar中的其他类,然后由反射创建.它工作得很好,但我必须指定类的非常长的完全限定路径,即使这些类在jar文件中.

我使用ant编译然后jar一系列目录.从最小的示例build.xml文件:

includeantruntime="false"

srcdir="${src}/utility" destdir="${classes}"

classpathref="classpath" />

destfile="${jars}/utility.jar"

basedir="${classes}"

includes="**/utility/**" />

includeantruntime="false"

srcdir="${src}/tokenizers"

destdir="${classes}"

classpathref="classpath" />

destfile="${jars}/tokenizers.jar"

basedir="${classes}"

includes="**/tokenizers/**" />

后来,我正在创建一个包含所有必需类的jar文件,并将运行一个命令,例如:

这一切都有效,并查看jar文件,所有类都在那里.

prompt > unzip -l TokenizeFile.jar

Archive: TokenizeFile.jar

Length Date Time Name

-------- ---- ---- ----

0 01-11-12 11:07 META-INF/

286 01-11-12 11:07 META-INF/MANIFEST.MF

0 01-11-12 10:16 dom/

0 01-11-12 10:16 dom/place/

0 01-11-12 10:16 dom/place/proj/

0 01-11-12 10:16 dom/place/proj/tokenizers/

1737 01-11-12 11:07 dom/place/proj/tokenizers/FileTokenizer.class

1411 01-11-12 11:07 dom/place/proj/tokenizers/PorterTokenizer.class

1754 01-11-12 11:07 dom/place/proj/tokenizers/TokenizeFile.class

992 01-11-12 11:07 dom/place/proj/tokenizers/Tokenizer.class

0 01-11-12 10:16 dom/place/proj/utility/

1106 01-11-12 11:07 dom/place/proj/utility/BoundedExecutor.class

3128 01-11-12 11:07 dom/place/proj/utility/Converter.class

1107 01-11-12 11:07 dom/place/proj/utility/ExceptionHandler.class

现在,为了运行代码,我做:

java -jar TokenizeFile.jar test.txt dom.place.proj.tokenizers.FileTokenizer dom.place.proj.tokenizers.PorterTokenizer

它的工作原理.好极了!但我希望我的客户端不必在命令行上为每个类指定完全限定名称 – 这是一个小例子,可能有很多项.在我的代码或构建过程中,我可以更改以允许这样做:

java -jar TokenizeFile.jar test.txt FileTokenizer PorterTokenizer

谢谢你的帮助.到目前为止,我正在从C / make过渡,就像蚂蚁和Java一样.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值