0

A 在构建路径中有 jar B,B 在构建路径中
有 jar C,

我可以在 A 中使用 C 中的类吗?

提前致谢

4

4 回答 4

0

是的,你可以使用它。因为如果所有 jars 都在您的类路径中,那么您可以在任何地方使用它们。

于 2012-12-14T11:17:59.493 回答
0

在构建路径中有 jar b 和 jar c 是不够的。您可以使用这些选项中的任何一个来实现您想要的:

  1. 在包含类路径的 jar b 清单中添加一个新行:c.jar 在包含类路径的 jar 清单中添加一个新行:b.jar

  2. java -cp a.jar;b.jar;c.jar yourfullclassname

于 2012-12-14T11:19:35.110 回答
0

我认为您可能需要区分构建这些 jar 和后续使用。

例如,您可以构建 jar B 引用 jar C,但需要将两者部署在一起。如果你在构建 jar A 时不这样做,则引用 jar B,但如果没有 jar C,它将无法工作。

您的构建也可以选择 B 的代码,并将其与 jar C 的内容一起打包。然后您可以在 A 中同时使用 B 和 C。

这种依赖管理可能变得相当复杂(如您所见)。将代码打包在一起,这样您就不必提供多个 jar,这让生活变得轻松(您只引用一个 jar),但它使升级变得很痛苦(例如,您无法升级一个公共库)。像 Maven 这样的工具提供了处理这个问题的选项(我是否需要这个 jar 仅用于编译,我是否将它与我的程序一起打包,它是否仅用于测试等)

于 2012-12-14T11:19:58.780 回答
0

如果您的类路径中有 A、B 和 C,您可以使用任何其他类中的任何这些类。您所需要的只是参考或对参考的参考等。

于 2012-12-14T11:13:32.660 回答