Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在ubuntu中将目录添加到类路径?_Java_Oop_Package - Fatal编程技术网

Java 如何在ubuntu中将目录添加到类路径?

Java 如何在ubuntu中将目录添加到类路径?,java,oop,package,Java,Oop,Package,假设我有一个目录“Animal”(不带引号),其中有java类。在Linux中如何将该目录添加到类路径?我的意思是,假设我想使用其他文件夹中“Animal”目录中的类文件,那么我需要将“Animal”添加到类路径中。怎么做 另外,假设Animal目录有几个子目录,每个子目录也有包含java类文件的目录,那么如何将每个子目录添加到java包中呢 编辑:假设我在Ubuntu中有两个文件夹,比如下载和文档。现在在下载中,我创建了一个名为“animal”的文件夹,其中有一个名为Dog.java的类。现在

假设我有一个目录“Animal”(不带引号),其中有java类。在Linux中如何将该目录添加到类路径?我的意思是,假设我想使用其他文件夹中“Animal”目录中的类文件,那么我需要将“Animal”添加到类路径中。怎么做

另外,假设Animal目录有几个子目录,每个子目录也有包含java类文件的目录,那么如何将每个子目录添加到java包中呢

编辑:假设我在Ubuntu中有两个文件夹,比如下载和文档。现在在下载中,我创建了一个名为“animal”的文件夹,其中有一个名为Dog.java的类。现在在Documents文件夹中,我创建了一个main方法,在这个方法中,我尝试创建一个“Dog”类的实例。我想通过在下载文件夹中导入包“animal”来实现这一点。怎么做?我们知道,如果我们想使用java中的一些预构建包,那么我们导入该包以使用该包中的类。类似地,假设我想导入我自己的包,我需要做什么?当我编写import和compile时,它会说包“animal”不存在。所以我所做的是,它不会给出编译错误。有人可以通过给出答案来详细说明


在问这个问题之前,我做了很多工作,当我不成功时,我终于问了这个问题。

要详细解决这个问题,请使用一些代码-文件夹结构是:

~ (user folder)
~/Documents
~/Documents/useanimal
~/Documents/useanimal/UseDog.java
~/Downloads
~/Downloads/animal
~/Downloads/animal/Dog.java
下面是这两个类的代码。汇编:

cd ~/Downloads
javac animal/Dog.java
cd ~/Documents
javac -cp ~/Downloads useanimal/UseDog.java
要运行:

cd ~
java -cp Documents:Downloads useanimal.UseDog
它将输出

UseDog:main
Dog created

代码:

animal/Dog.java

package animal;

public class Dog {
  public Dog() {
    System.out.println("Dog created");
  }
}
package useanimal;
import animal.Dog;

public class UseDog {
  public static void main(String[] args) {
    System.out.println("UseDog:main");
    Dog dog = new Dog();  
  }
}
useamal/UseDog.java

package animal;

public class Dog {
  public Dog() {
    System.out.println("Dog created");
  }
}
package useanimal;
import animal.Dog;

public class UseDog {
  public static void main(String[] args) {
    System.out.println("UseDog:main");
    Dog dog = new Dog();  
  }
}

@我以前访问过它,如何使用终端。我不明白你应该调用
java-cp animal:anotherFolder:etc.main.ClassName
。文件夹名称由
分隔。调用java的“普通”方法是
JavaMyClass
,它将调用指定类中的
main
方法。
-cp
选项允许您将文件夹添加到类路径。文件夹名称可以是相对的(相对于您运行
java
的工作文件夹),也可以是绝对的检查@Daniele如何在类路径中添加我的文件夹或包,这样当我使用来自其他目录的import语句时,就可以确定我在说什么?