当前位置: 首页 > 面试题库 >

是否可以在不提供依赖项的情况下编译Java文件?

越安翔
2023-03-14
问题内容

有一个Java文件,其中包含一些依赖项jar。但是现在,我没有那些jars,必须将其编译为.class文件。

是否有可能做到这一点?

更新

感谢您的回答。

起初,我认为我们可以为缺少的依赖项创建一些存根,这很简单但是很无聊。既然我们可以创建存根而不会丢失存根以使编译器满意,那么为什么我们不能使工具自动完成呢?该工具不需要创建存根,而是读取java文件,收集信息,然后构建.class文件。

但是,如果Java文件中的“ import”语句包含“ *”,那将是一个问题:

import aaa.*
import bbb.*

public class Hello {
   World world;
}

我们不知道“世界”类是否在“ aaa”或“ bbb”包下。如果我们不熟悉缺少的依赖项,那么我们甚至都不知道如何为“ World”类创建存根。

但是,如果“导入”语句很明确,我认为这是可能的,但是也许没人会写出这样的工具


问题答案:

您可能会发疯,将所需的依赖项手工制作为存根,除了让编译器感到满意之外,什么也没做。



 类似资料:
  • 我有一个多项目gradle项目,结构如下。 从顶层“Project A”运行Gradle任务时,一切都正常工作 但是,当我尝试在子项目(如“subproject C”)上运行单个任务时,会出现以下错误。 失败:构建失败,但有一个异常 出了什么问题: 评估根项目“SubProject C”时出现问题。 在根项目“SubProject C”中找不到带有路径“: Shared”的项目。 我想我看到了问题

  • 问题在于,当我通过工件spring-boot-maven-plugin用maven编译服务时,.war文件内部总是有依赖关系。因为我想知道是否有人知道如何配置maven来删除.war文件中的依赖项......穿着春靴。 war随后出现了里面的依赖关系,经过编辑:我已经添加了提供的,就像Michael Potter所说的和执行一样。很好用。我的pom.xml如下:

  • 问题内容: 我正在尝试使用Python的ftplib读取文件而不编写它们。大致相当于: 但使用FTP。 我试过了: 但这不起作用。文档中的唯一示例涉及使用该格式编写文件。是否可以在不先写入的情况下读取ftp文件? 问题答案: 好吧,您的答案就在眼前:retrbinary方法接受对函数的引用作为第二个参数,该函数在从ftp连接中检索文件内容时被调用。 这是一个简单的示例: 您应该实现writeFun

  • 在为android项目添加新的依赖项时,特别是在中,在中,有三个作用域选项compile/provide/apk。

  • 我的情况: 我有两个独立的项目A和B。 没有项目A。 A和B使用相同的库: < li >反射-0.9.9-RC1.jar < li >番石榴-11.0.2.jar < Li > XML-API-1.0 . B2 . jar < li>javassist-3.16.1-GA.jar < li>dom4j-1.6.1.jar < li>jsr305-1.3.9.jar 我制作了项目C,这是项目a的插件

  • 我想知道如何编译。不知道公共类名的java文件。 提供一个示例用例:我正在操作一个沙盒,允许用户向我发送一个字符串。我将该字符串写入。我编译的java文件评估生成的类并回复输出。 ?????.Java语言 如果我随机分配?????。java是一个名称,例如test。java并运行命令javac测试。那么它就会失败 错误:类HelloWorld是公共的,应该在名为HelloW的文件中声明orld.j