当前位置: 首页 > 知识库问答 >
问题:

在一个文件中编译多个Java文件?

申颖逸
2023-03-14

试图编译多文件包。需要通过javac mainfile.Java进行编译,同时通过一个文件同时编译所有其他文件(大约4个其他.Java文件)?我已经尝试使用了extend和import package.*等语句。

我使用了不同的编译方法和参数,但尝试只插入javac mainfile.JavaJava mainfile

摘要:试图一次编译多个Java文件,通过Java编译单个文件。

主文件的当前代码

package mypackage;
import mypackage.*;

public class mainfile{
   public static void main(String[] args) {
       Myfile.main(args) //run main from other file
}
}

共有1个答案

谭文林
2023-03-14

javac作为一种工具并不能满足您的需要。但是,这就是为什么还有其他工具存在的原因。

你的要求归结为‘我想要一个构建系统’。绝大多数Java项目都使用maven或Gradle。

这看起来工作得很好:

javac -sourcepath src src/mainfile.java

但你会受骗的。这将仅仅编译mainfile.java中代码直接引用的所有源文件,但是还有许多其他方法可以引用代码,例如SPI、反射、XML配置文件。绝大多数Java项目最终都将使用某种构造,这种构造会越早越“打破”-sourcePath“把戏”,这大概就是为什么所有Java项目都使用构建系统而不是依赖-sourcePath的原因。

请注意,所有源文件的操作方式都类似于它们具有:

import java.lang.*;
import yourownpackage.*;

在最上面,不管你写不写这个。而且,import是“alias”的Java语。import foo.bar.Baz;的意思是:每当“Baz”作为类型出现在此文件中时,假设我打算编写“foo.bar.Baz”,仅此而已:import foo.bar.Baz不会运行Baz类中的任何代码。如果不使用Baz,那么生成的类文件根本就没有提到Baz。这也不会导致javac编译整个目录。

 类似资料:
  • 我尝试使用以下命令编译2个jar文件和4个java源文件: javac-classpath junit-4.12.jar jar2.jar 1.java 2.java 3.java 4.java 但是,我得到以下错误:

  • 问题内容: 我的文件夹中有四个Java文件。它们都在同一包中。这是包裹声明 所有这些类都在同一包中。我想知道如何使用它们来编译它们(我是说我不知道​​如何编译正在使用的多个文件)。一旦完成,如何启动然后在CLI中使用命令?这是文件名。 问题答案: 从项目的根目录: 要运行,假设没有其他依赖项: (假设具有正常功能。) 该命令将编译软件包目录中的所有文件。由于它们都在同一个包/目录中,因此可以使用。

  • 这样多个页面就能共用我就能用1个css文件了

  • 问题内容: 我已经搜索过了,但是找不到或无法理解。 现在我不是Java程序员,但是我需要将一个Java文件编译成一个现有的(已编译的)Java程序。该Java代码的源代码对我 不可 用,因此我无法编译整个项目。 我对反编译原始项目不感兴趣。 如何仅使用JDK和javac快速完成此操作?(通过命令行是我的首选。) 我知道这样做必须禁用单个java文件外部的错误检查,因为它无法读取依赖项。 在此先感谢

  • //我得到的错误是java。尼奥。文件FileAlreadyExistsException所以据我所知,它试图将文件保存到确切的位置,而不是保存在文件中,如果我将目标地址改为“垃圾/垃圾”,我需要以这种方式保存几个文本文件。它将在那里保存一个名为垃圾的文件。txt。但在for-each的下一个循环中,它会抛出一个“已经存在”的异常。。。 有人能解释一下我如何从src文件夹将所有txt文件保存到该文