如何独立编译java类
How to compile java classes independently
我目前想知道您是否可以在没有依赖项的情况下编译 Java class 文件,例如 C 或 C++ 中的 .o 文件。比如我有一个class A,里面有一个class B的实例,但是我只想编译class A,请问有什么办法吗?重点是使用 make 编译一个 java 程序,因为 Gradle 而 Maven 不会让我做我想做的事。
谢谢。
Java 是一种静态类型语言,如 C/C++,因此任何 class 或您的 class 使用的方法必须众所周知,以便编译你的 class.
在C/C++中,我们使用头文件来定义classes和方法,而不是实现它们。这样我们就可以编译使用它们的 classes,仅使用头文件,而不是所需 classes/methods.
的源文件
Java 没有头文件,所以 classes/methods 必须完整可用。它们不必作为源代码提供,即它们可以预编译并作为 .class
文件提供,通常打包在 .jar
文件中。
所以如果你有classA依赖classB,你可以单独编译B,然后单独编译A,只要B.class
在[=34=上]路径。
与C/C++不同,Java编译器可以将多个文件编译在一起,例如如果 A 和 B 相互依赖(循环依赖)则需要。
如果A和B是同一个项目的一部分,那么一起编译。如果A和B属于不同的项目,先构建项目B,得到一个B.jar
文件,然后构建项目A,在构建项目A时将jar文件放在class路径下。
我目前想知道您是否可以在没有依赖项的情况下编译 Java class 文件,例如 C 或 C++ 中的 .o 文件。比如我有一个class A,里面有一个class B的实例,但是我只想编译class A,请问有什么办法吗?重点是使用 make 编译一个 java 程序,因为 Gradle 而 Maven 不会让我做我想做的事。
谢谢。
Java 是一种静态类型语言,如 C/C++,因此任何 class 或您的 class 使用的方法必须众所周知,以便编译你的 class.
在C/C++中,我们使用头文件来定义classes和方法,而不是实现它们。这样我们就可以编译使用它们的 classes,仅使用头文件,而不是所需 classes/methods.
的源文件Java 没有头文件,所以 classes/methods 必须完整可用。它们不必作为源代码提供,即它们可以预编译并作为 .class
文件提供,通常打包在 .jar
文件中。
所以如果你有classA依赖classB,你可以单独编译B,然后单独编译A,只要B.class
在[=34=上]路径。
与C/C++不同,Java编译器可以将多个文件编译在一起,例如如果 A 和 B 相互依赖(循环依赖)则需要。
如果A和B是同一个项目的一部分,那么一起编译。如果A和B属于不同的项目,先构建项目B,得到一个B.jar
文件,然后构建项目A,在构建项目A时将jar文件放在class路径下。