gpt4 book ai didi

java - 在没有 IDE 的情况下如何组织我的项目?

转载 作者:行者123 更新时间:2023-12-01 09:44:38 25 4
gpt4 key购买 nike

我有一个程序,我在其中研究并尝试了观察者模式。

我在终端上用nano编写了它,然后像这样保存:

kneipe
(location
(Show.java))
(leute
(Beobachter.java
Comedian.java))

我正确地编译了所有这些,但它一直说在我的 main 中对类的引用不正确,因此它无法从其他类创建新的对象

这是交易:
我在 eclipse 上尝试了一下,它与 import package2.*;

配合得很好

我在网上甚至书本上找到的所有教程都只有一个包文件夹。

那么,我如何组织我的项目以及如何正确导入,因为我尝试了(几乎)所有内容,但到目前为止没有任何效果(我什至尝试将第二个包复制到第一个包中,但这也不起作用)。

A类:

package leute;

import java.util.*;

public class Comedian extends Observable {
String name = "";
int numGags = 0;
String joke = "abc";
boolean toldjoke = false;

public Comedian(String name, int numGags) {
this.name = name;
this.numGags = numGags;
}

public void telljoke() {
this.toldjoke = true;
System.out.println(joke);
setChanged();
notifyObservers();
}

private String getname() {
return this.name;
}

private int getnumgags() {
return this.numGags;
}
}

那是B类:

package leute;

import java.util.*;

public class Besucher implements Observer {
String name = "";
int intus = 0;
boolean lacht = false;

public Besucher(String name, int intus) {
this.name = name;
this.intus = intus;
}

private String getname() {
return this.name;
}

public void enought(Besucher a) {
a.lacht = false;
}

public void update(Observable o, Object arg) {
lacht = true;
System.out.println("HAHAHAH!!!");
}
}

这就是主要内容:

package location;

import leute.*;
import java.util.*;

public class Show {

public static void main(String args[]) {
Observer franz = new Besucher("Franz", 6);
Observer karl = new Besucher("Karl", 1);
Comedian mark = new Comedian("Mark", 5);

mark.addObserver(franz);

mark.telljoke();


mark.addObserver(karl);

mark.telljoke();

mark.deleteObserver(karl);
mark.deleteObserver(franz);

mark.telljoke();
}
}

如上所述,它在 Eclipse 上运行良好,但终端告诉我:

lisaundamelia@lisaundamelia ~/Schreibtisch/Alle Projekte $ javac
kneipe/location/Show.java
kneipe/location/Show.java:3: error: package leute does not exist
import leute.Besucher;
^
kneipe/location/Show.java:4: error: package leute does not exist
import leute.Comedian;
^
kneipe/location/Show.java:10: error: cannot find symbol
Observer franz = new Besucher("Franz", 6);
^
symbol: class Besucher
location: class Show
kneipe/location/Show.java:11: error: cannot find symbol
Observer karl = new Besucher("Karl", 1);
^
symbol: class Besucher
location: class Show
kneipe/location/Show.java:12: error: cannot find symbol
Comedian mark = new Comedian("Mark", 5);
^
symbol: class Comedian
location: class Show
kneipe/location/Show.java:12: error: cannot find symbol
Comedian mark = new Comedian("Mark", 5);
^
symbol: class Comedian
location: class Show
6 errors

最佳答案

您需要立即编译所有源文件。或者至少指定类路径,以便编译器知道在哪里可以找到 Show 所依赖的类:

javac -cp kneipe kneipe/location/Show.java

默认情况下,当前目录位于类路径中,因此您也可以移动到 keipe 目录,然后执行

javac location/Show.java

我强烈建议始终使用 -d 选项来指定编译器应将 .class 文件放置在与源文件不同的目录中。

事实上,一旦你习惯了 Java 的工作原理,你最好使用真正的构建工具,比如 gradle 或 Maven(但我更喜欢 gradle),这会让你采用良好的布局约定,并且可以编译, jar 等,只需一个命令即可为您提供一切。

关于java - 在没有 IDE 的情况下如何组织我的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38164927/

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