【问题标题】:How to add directory to class path in ubuntu?如何在 ubuntu 中将目录添加到类路径?
【发布时间】:2020-01-23 18:09:06
【问题描述】:

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

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

edit:假设我在 Ubuntu 中有两个文件夹,分别是 Downloads 和 Documents。现在在 Downloads 中,我创建了一个名为“animal”的文件夹,其中包含一个名为 Dog.java 的类。现在在 Documents 文件夹中,我创建了 main 方法,在该方法中我尝试创建“Dog”类的实例。我想通过在 Download 文件夹中导入包“animal”来做到这一点。怎么做?我们知道如果我们想在java中使用一些预先构建的包然后我们导入那个包来使用那个包里面的类。同样假设我想导入我自己的包,我需要做什么?当我编写导入和编译时,它说包“动物”不存在。所以我这样做是为了不给出编译错误。有人可以通过给出答案来详细说明。

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

【问题讨论】:

  • @jrook 我之前访问过,终端怎么做。我看不懂
  • 你应该打电话给java -cp animal:anotherFolder:etc your.main.ClassName。文件夹名称由: 分隔。调用 java 的“普通”方式是 java MyClass,它将在您指定的类中调用 main 方法。 -cp 选项允许您将文件夹添加到类路径。文件夹名称可以是相对的(相对于您运行 java 的工作文件夹)或绝对的
  • @Daniele 如何在类路径中添加我的文件夹或包,以便当我从其他目录使用 import 语句时,可以识别我在说什么?

标签: java oop package


【解决方案1】:

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

~ (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");
  }
}

useanimal/UseDog.java

package useanimal;
import animal.Dog;

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-29
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 2013-09-22
    • 2013-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多