我的文件结构是:
dbscan/
.vscode/
launch.json
settings.json
bin/
taxidbscan/
Cluster.class
DBScan.class
GPScoord.class
OutputReader.class
OutputRecord.class
TaxiClusters.class
TaxiReader.class
TaxiWriter.class
TripRecord$Label.class
TripRecord.class
src/
taxidbscan/
Cluster.java
DBScan.java
GPScoord.java
OutputReader.java
OutputRecord.java
TaxiClusters.java
TaxiReader.java
TaxiWriter.java
TripRecord.java
这是一项学校作业,所以我的助教需要能够从命令行运行这个包。我在这里的目标是简单地编译到bin文件夹,以保持事物的有序性和类文件的独立性。
我导航到我的根目录,并使用它进行编译以获得所有文件:
dbscan> javac -d bin/ src/taxidbscan/*.java
无论我尝试什么,我在运行主类时都会遇到同样的错误。我想我已经尝试过这个命令的每一种排列:
dbscan> java -cp bin src/taxidbscan/TaxiClusters
Error: Could not find or load main class taxidbscan.TaxiClusters.java
Caused by: java.lang.ClassNotFoundException: taxidbscan.TaxiClusters.java
如果我没有解决方案,我会编译并运行src文件夹中的所有内容
事后看来,我应该为这个项目使用IDE,而不是vscode,但现在已经太晚了。Vscode java扩展确实成功地编译和运行了所有内容,它的命令行是最糟糕的。
需要运行生成的类文件,而不是源文件。java -cp bin taxidbscan.TaxiClusters