Java 错误:无法在bash上找到或加载主类pj2

Java 错误:无法在bash上找到或加载主类pj2,java,parallel-processing,graph-coloring,Java,Parallel Processing,Graph Coloring,我知道这个问题已经被问了很多次,但是我浏览了很多解决方案,没有找到任何具体的答案。我试图使用Alan Kimisky教授的并行2库,称为pj2 该库用于解决图的着色问题。 我的文件目录如下所示 我必须提取pj2.jar并将edu文件复制粘贴到项目文件夹中,这样所有的.java文件都可以编译 首先通过命令编译我的所有文件 javac *.java 之后,我们使用了GitHub项目中提到的命令 java pj2 cores=1 GraphColSeq sampleInput 在此之后将显示一个

我知道这个问题已经被问了很多次,但是我浏览了很多解决方案,没有找到任何具体的答案。我试图使用Alan Kimisky教授的并行2库,称为pj2

该库用于解决图的着色问题。 我的文件目录如下所示

我必须提取pj2.jar并将edu文件复制粘贴到项目文件夹中,这样所有的.java文件都可以编译

首先通过命令编译我的所有文件

javac *.java
之后,我们使用了GitHub项目中提到的命令

java pj2 cores=1 GraphColSeq sampleInput
在此之后将显示一个错误

Error: Could not find or load main class pj2 
因此,我在网上遇到了一个问题。但是,当使用命令设置pj2的路径时

export CLASSPATH=.:/C/TabuParallelProgrammingAlgorithm/pj2.jar
此时将显示错误。我在网上尝试了大多数解决方案,但同样的错误依然存在

计算机规格

Windows 10、i7、jdk 1.7

更新

正如两个建议的解决方案所提到的,我下载了pj2的可执行文件,现在我的目录如下

没有
lib
目录和
pj2。类
存在于
pj2/
本身中

我键入了以下命令-

javac -cp pj2/ *.java
而且没有任何问题

但是当我打字的时候

java -cp .:pj2/ pj2 cores=4 GrpahColSeq sampleInput.txt
错误再次出现

Error: Could not find or load main class pj2 

我相信这与我在命令shell中编写
pj2
的方式有关。可能需要确切的文件路径。请告诉我您的建议。

您已下载源文件分发文件:

2018年6月20日版本(6399014字节):pj2src_20180620.jar

获取可执行文件

2018年6月20日版本(1133935字节):pj2_20180620.jar

注意文件大小

pj2_20180620.jar
文件应重命名为
pj2.jar

更新,因为问题也已更新/更改

现在的问题是windows使用“:”作为驱动器分隔符,所以java必须使用“;”分离类路径组件(尽管在bash上运行)。bash使用“;”要分离命令,我们需要避开它

尝试:

或者,(未测试)无需取消注册或编译
pj2

java -cp '.;pj2.jar' pj2 ores=4 GrpahColSeq sampleInput.txt
使用类路径时相同

export CLASSPATH='.;pj2.jar'
java pj2 cores=4 GrpahColSeq sampleInput.txt

这不会使先前的答案无效

首先需要编译
pj2
(如果
pj2/lib
目录中没有
pj2.class
):

现在您必须找到这个文件:
pj2/lib/pj2.class

然后您需要编译java文件:

javac -cp pj2/lib/ *.java
现在,您可以运行您想要的:

java -cp .:pj2/lib/ pj2 cores=4 GraphColSeq sampleInput.txt 
Vertex:0,color:0
Vertex:1,color:1
Vertex:2,color:0
Vertex:3,color:0
Vertex:4,color:2
Total number of colors required:3
0 msec

检查
pj2.jar
文件是否未损坏,使用winzip或7-zip打开它,并在主文件夹中查找
pj2.class
(或使用
jar-tvf pj2.jar
)是的,pj2.class文件存在
java-cp.:pj2.jar pj2 cores=4 GrpahColSeq sampleInput.txt
或最终
java-cp.:pj2 pj2 cores=4 GrpahColSeq sampleInput.txt
(在windows上使用bash有时有点奇怪,…)编辑答案,因为问题更改得到了可执行的答案,但问题一直困扰着你,这个更新对我来说很有吸引力:)。是的,我测试了你所有的命令,每一个都运行顺利。
javac -cp pj2/lib/ *.java
java -cp .:pj2/lib/ pj2 cores=4 GraphColSeq sampleInput.txt 
Vertex:0,color:0
Vertex:1,color:1
Vertex:2,color:0
Vertex:3,color:0
Vertex:4,color:2
Total number of colors required:3
0 msec