Java 从命令行启动文件的.class的命令
我在Java 从命令行启动文件的.class的命令,java,netbeans,linker-errors,bytecode,Java,Netbeans,Linker Errors,Bytecode,我在NetBeans中创建了这个项目(根据p.Noutona,G.Shildta的书《Java2.最全面的管理》),并指定了Example2项目名称 /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package example2; /** * * @author Asus */ /* * Другой короткий пример.
NetBeans
中创建了这个项目(根据p.Noutona,G.Shildta的书《Java2.最全面的管理》),并指定了Example2
项目名称
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package example2;
/**
*
* @author Asus
*/
/*
* Другой короткий пример.
* Файл "Example2.java"
*/
public class Example2 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int num; //объявляет переменную с именем num
num=100; //присваивает num значение 100
System.out.println("Значение num: "+num);
num*=2;
System.out.print("Удвоенное значение num: ");
System.out.println(num);
}
}
在创建项目的情况下,创建了带有D:\ExamplesFromBook\example2\example2项目文件夹(以及根据D:\ExamplesFromBook\example2的项目布局)的example2.example2类。我通过命令行中的命令创建了字节码
D:\ExamplesFromBook\Example2\Example2\src\example2>javac Example2.java
因此创建了Example2.class文件。此外,我还尝试从命令行启动各种methods.class文件,例如,我:
D:\ExamplesFromBook\Example2\Example2>java example2.Example2
因此收到一个错误
Error: Could not find or load main class example2.Example2
需要使用什么命令以及从哪个文件夹启动?更改java编译命令 编译使用 javac-d。ClassName.java 要使用包名运行java类文件,请使用 java packageName/className 或
java packageName.className您的问题在于包名。您正在编译的类位于包example2中,称为example2,因此它的完整路径为example2.example2。到现在为止,一直都还不错。问题是java将如何找到该类。Java将把命令中的包声明转换为文件路径,在本例中为example2/example2.class。由于您的类位于Example2.class而不是Example2/Example2.class,因此将找不到它并导致错误。
要解决此问题,请创建一个名为example2的子目录,并将类文件放在其中。转到目录D:\ExamplesFromBook\example2\example2\src\ 然后键入java-cpd:\ExamplesFromBook\Example2\Example2\src Example2.Example2 所有类文件所在的主目录应该位于类路径中(在您的示例中是D:\ExamplesFromBook\Example2\Example2\src)。或者,也可以使用windows环境变量设置类路径。一旦这样做了;您可以使用运行任何类文件
java <full qualified class name>
java
比如说
java示例2.示例2您在这里
D:\ExamplesFromBook\Example2\Example2\src\example2
编译时
javac Example2.java
这些类将出现在
D:\ExamplesFromBook\Example2\Example2\src\Example2
尝试dir并列出它们
Dir D:\ExamplesFromBook\Example2\Example2\src\example2
现在要运行一个类,它必须在类路径中。该查找将添加类的完全限定名(点替换为/)并在每个路径中搜索。就你而言
java -cp D:\ExamplesFromBook\Example2\Example2\src example2.Example
应该有用
java程序将在您给出的所有类路径下查找example2/example2.class。查看的更多详细信息您是否尝试将.java文件编译到另一个文件夹中,例如,按照通常的方式“构建”文件 当Netbeans自动编译文件时,它会创建以下结构:
"proj_dir"/src/"package"/"code".java
"proj_dir"/build/classes/"package"/"code".class
试着这样做,但手动。然后从命令行转到“build/classes”目录并键入:
java "package"."code"CMD命令执行此操作:
cd D:\ExamplesFromBook\Example2\Example2\src\example2
javac -d ..\..\build\classes Example2.java
cd D:\ExamplesFromBook\Example2\Example2\build\classes
java example2.Example2
它适用于简单的程序。@Jayan您的命令没有帮助。我收到了同样的错误。我还要求在响应中指定启动命令所需的路径。您需要将目录更改为D:\ExamplesFromBook\Example2\Example2\src,然后在@user1851132:更新为Answer时试用。您的命令没有帮助。我收到了同样的错误。我还要求在响应中指定启动命令所需的路径@穆罕默德侯赛因
cd D:\ExamplesFromBook\Example2\Example2\src\example2
javac -d ..\..\build\classes Example2.java
cd D:\ExamplesFromBook\Example2\Example2\build\classes
java example2.Example2