gpt4 book ai didi

Java包执行

转载 作者:行者123 更新时间:2023-12-02 13:37:07 24 4
gpt4 key购买 nike

这是我的情况:我有一个文件夹结构:

C:\Users\user\Desktop\JavaTraining\Chapter3\examples.

examples 也是一个文件夹。现在,我在 Chapter3 文件夹中有一个文件名 Calculator.Java,其中包含包语句 package Chapter3;。因此,我从命令行将 JavaTraining 目录中的文件编译为 javac Chapter3\Calculator.java,它编译后我看到一个文件 Calculator.class生成。但是当我从 JavaTraining 目录运行命令 java Chapter3.Calculator 时。它向我抛出了一个错误:无法找到文件或加载主类Chapter3.Calculator

然后,我在Chapter3中创建了一个名为examples的子文件夹,并将Calculator.java复制到examples文件夹中,并尝试编译和执行该文件将 Chapter3 视为根文件夹(从 Chapter3 目录执行命令)。没有错误,文件已执行。

请谁能解释一下为什么会发生这种情况或者其背后的原因是什么,我快疯了......

Calculator.java 只是一个类 Calculator,其主函数试图从两个变量的 printsum 函数中求和。

我仔细阅读了http://stackoverflow.com/questions/18093928/what-does-could-not-find-or-load-main-class-mean中提供的建议根据上面的情况,要么是语法错误(尝试执行文件的方式),要么是设置PATH和CLASSPATH环境变量。

我什至尝试了 echo %CLASSPATH% 来查看我的 CLASSPATH 变量是否设置为当前目录。当我从 JavaTraining 目录执行 echo 命令时,它确实显示了 . 。当我尝试将 Chapter3 文件夹作为根目录时,该文件没有执行,但是当我在 Chapter3 中创建子文件夹并将 Chapter3 作为根目录时,它执行了,可能是什么原因或者我做错了什么,

这是带有输出的命令行:

C:\Users\vikas\Desktop\JavaTraining>javac Chapter3\Calculator.java

C:\Users\vikas\Desktop\JavaTraining>java Chapter3.Calculator
Error: Could not find or load main class Chapter3.Calculator

C:\Users\vikas\Desktop\JavaTraining>cd Chapter3

C:\Users\vikas\Desktop\JavaTraining\Chapter3>javac examples\Calculator.java

C:\Users\vikas\Desktop\JavaTraining\Chapter3>java examples.Calculator
The sum is 30

C:\Users\vikas\Desktop\JavaTraining\Chapter3>

Calculator.java 文件:

// One Package Statement
package chapter3;
// The file in Chapter 3 folder, file in example folder has
//package examples;
// One or more import statements
import java.io.*;
import java.util.*;

// Class Declaration
public class Calculator {

// State. Variables and Constants
int i=10;
long k = 20;

// Behavior, one or more methods
void printSum(){
long sum;
sum = i+ k;
System.out.println("The sum is " + (i+k));
}
public static void main (String[] args) {
Calculator c = new Calculator();
c.printSum();
}
}

最佳答案

当你构建一个文件时,最好有一个构建目录,然后java会将类放在正确的包布局中。

mkdir build
javac -d build path/to/source/Files.java
java -cp build package.name.Files

关于Java包执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42928011/

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