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