gpt4 book ai didi

java - 如何运行java类命令行?

转载 作者:行者123 更新时间:2023-11-29 03:16:17 24 4
gpt4 key购买 nike

我有以下测试题:

Given:

1. package com.company.application;
2.
3. public class MainClass {
4. public static void main(String[] args) {}
5. }

And MainClass exists in the /apps/com/company/application directory. Assume the CLASSPATH environment variable is set to "." (current directory).Which two java commands entered at the command line will run MainClass? (Choose two.)

A. java MainClass if run from the /apps directory
B. java com.company.application.MainClass if run from the /apps directory
C. java -classpath /apps com.company.application.MainClass if run from any directory
D. java -classpath . MainClass if run from the /apps/com/company/application directory
E. java -classpath /apps/com/company/application:. MainClass if run from the /apps directory
F. java com.company.application.MainClass if run from the /apps/com/company/application directory

我认为正确的是 D 和 E,但正确的是 B 和 C,我想知道为什么?

最佳答案

你应该使用它的全名来执行一个类。一个类的全名包括:

<package location> + <simple name of class>

考虑到这一点,MainClass 全名是 com.company.application.MainClass

Java 可以从包树中包含顶级目录的目录中定位此类。在示例中,根目录是 /apps:

apps <-- root
+ com <-- here the package starts
+ company
+ application
- MainClass.class

所以这个根目录应该在类路径中,以便 Java 程序(JVM)可以访问已编译的类和应用程序的入口点。


来自问题:

Assume the CLASSPATH environment variable is set to "." (current directory).

选项 B 指出:

B. java com.company.application.MainClass if run from the /apps directory

因为你在/apps目录下,当前目录是CLASSPATH,所以Java可以找到指定的类来执行。

选项 C 指出:

C. java -classpath /apps com.company.application.MainClass if run from any directory

在这种情况下,您将 /apps 设置为 CLASSPATH,因此 Java 可以找到要执行的指定类。

所有其他选项都无法完成上述解释。

关于java - 如何运行java类命令行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26385957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com