有一个java文件,它有一些依赖项jar。但是现在,我没有那些罐子,我必须把它编译成.class文件。
是否可以这样做?
更新
感谢您的回答。
起初,我认为我们可以为缺少的依赖项创建一些存根,这很简单但很无聊。由于我们可以创建存根而不会丢失存根以使编译器满意,为什么我们不能自动创建工具呢?该工具不需要创建存根,但是读取java文件,收集信息,然后构建.class文件。
但是如果java文件中的“import”语句包含“*”,那将是一个问题:
import aaa.*
import bbb.*
public class Hello {
World world;
}
我们不知道“世界”这个类是否在“aaa”或“bbb”包下。如果我们不熟悉缺少的依赖项,我们甚至不知道如何为“World”类创建存根。
但如果“导入”声明清楚,我认为这是可能的,但也许没有人会写这样的工具
答案 0 :(得分:11)
你可能会发疯并手工制作所需的依赖项作为存根,除了让编译器满意之外什么都不做。
答案 1 :(得分:5)
没有。抱歉。您需要在类路径中编译所有依赖项。
答案 2 :(得分:3)
没有。但是,您可以提供依赖类文件的存根版本,如果它只是少数几个您尝试编译的代码直接使用的类。
然后从理论上讲,如果您使用.class文件编译并将真实的依赖项放在类路径上,那么您的应用程序将使用正确的(非存根的)依赖类来工作。
答案 3 :(得分:1)
在编译任何文件之前,它总是查找任何依赖项。 但是你说你没有那些罐子!
看看你是否可以删除该项目/文件的依赖关系,然后尝试编译它。试一试!