java编译和运行时库

时间:2011-02-04 16:15:07

标签: jar runtime

我是java新手,我花了好几个小时来解决这个问题。对于能帮助我的人,我将非常感激。

这是问题所在。

  1. 我的项目,比如ProjectA,需要一个 一堆库来编译,但我 不要以为我需要一个名为的库 LibraryB.jar。所以这个项目 没有LibraryB正确编译 在课程路径中。
  2. 在运行时,程序退出 没有任何错误消息。我没有 知道原因,直到我放 我运行时在类路径中的LibraryB.jar 我的项目
  3. 有人能告诉我为什么会这样吗?据我所知,在java中,如果我引用了LibraryB.jar,那么在编译和链接时需要它。也许我错了。

1 个答案:

答案 0 :(得分:1)

缺乏具体的例子,我只能给你一个高级概述:

如果您的项目使用依赖于LibraryB的LibraryA但实际上没有在其接口中公开任何LibraryB的类(即它只在内部使用它),那么您很容易遇到只需要LibraryA编译的情况,但是需要LibraryB来实际运行你的代码。

如果您的应用程序在没有错误消息的情况下退出,那么这通常是您自己的错误。特别是对于刚接触Java的人来说,常见的原因是空catch - 阻塞(不要这样做!):

try {
  someCodeThatCanThrowAndException();
} catch (Exception e) 7
  // nothing
}