在Java中从命令行运行此命令

在Java中从命令行运行此命令,java,classpath,Java,Classpath,我无法以常规方式从命令行运行以下程序: package animal_package; public class my_animal { public static void main(String[] args) { System.out.println("Hello animal"); } } 例如,从命令提示符:我转到“D:\Java\src\animal\u package”我的Java程序所在的位置并编译它: D:\Java\src\animal

我无法以常规方式从命令行运行以下程序:

package animal_package;

public class my_animal {

    public static void main(String[] args) {

        System.out.println("Hello animal");
    }
}
例如,从命令提示符:我转到
“D:\Java\src\animal\u package”
我的Java程序所在的位置并编译它:

D:\Java\src\animal_package>javac my_animal.java  
D:\Java\src\animal_package>java my_animal  
Error: Could not find or load main class my_animal.java
我在谷歌上看到了类路径问题,但从中没有任何意义

在我的情况下,哪个命令行是正确的?

要编译:

javac my_animal.java
要运行(从src目录):

汇编:

javac my_animal.java
要运行(从src目录):


cd..
然后
java-cp。动物套装。我的动物
。包是完全限定类名的一部分。或者


cd..
然后
java-cp。动物套装。我的动物
。包是完全限定类名的一部分。或者


您可以使用以下命令从src目录编译该类: javac animal\u package\my\u animal.java 或者使用javac my_animal.java从animal_包目录

要从src目录运行程序,请使用
javaanimal_package.my_animal或java-cp。animal_package.my_animal

您可以使用以下命令从src目录编译该类: javac animal\u package\my\u animal.java 或者使用javac my_animal.java从animal_包目录

要从src目录运行程序,请使用
javaanimal_package.my_animal或java-cp。animal_package.my_animal

它可以从
src
工作,但是如何才能从
.java
.class
编译到的目录中工作呢?只需删除包声明。包声明来自我的源文件?这是一个。它可以从
src
工作,但我如何才能从哪个目录工作
.java
.class
仅通过删除程序包声明才编译为。源文件中的程序包声明就是它。@user963241当前文件夹的父文件夹。与使用
cd..
(但不修改当前文件夹)相同。
src
文件夹正确。因此,设置为该值后,我才能说“animal\u package.my\u animal”,它将获得正确的路径,对吗?@user963241该包是类名的一部分,目录结构必须匹配(即
src
包含一个文件夹
animal\u package
,该文件夹中必须包含
my\u animal.class
).@user963241当前文件夹的父文件夹。与使用
cd..
(但不修改当前文件夹)相同。
src
文件夹正确。因此,设置为该值后,我才能说“animal\u package.my\u animal”,它将获得正确的路径,对吗?@user963241该包是类名的一部分,目录结构必须匹配(即
src
包含一个文件夹
animal\u package
,该文件夹中必须包含
my\u animal.class
)。答案没有明确说明可以从文件夹
D:\java\src
而不是从包文件夹调用
java
可执行mut。请考虑一下,这个答案并没有清楚地表明,<>代码> java < /C>可执行MUT是从文件夹<代码> d:\java \ Src < /C>中调用的,而不是从包文件夹中调用的。请考虑一下。
java -cp .. animal_package.my_animal