Error: Could not find or load main class pj2 on bash
Error: Could not find or load main class pj2 on bash
我知道这个问题已经被问过很多次了,但是我浏览了很多解决方案,却找不到任何具体的答案。我正在尝试使用 Alan Kimisky 教授的 Parallel 2 库,称为 pj2。
此库用于 this 图形着色问题。
我的文件目录看起来像这样
我必须提取 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.class
存在于 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
的方式有关。也许必须需要确切的文件路径。请让我知道您的建议。
您已经下载了源分发文件:
Version 20-Jun-2018 (6,399,014 bytes): pj2src_20180620.jar
获取可执行文件一个:
Version 20-Jun-2018 (1,133,935 bytes): pj2_20180620.jar
注意文件大小!
pj2_20180620.jar
文件应重命名为 pj2.jar
更新因为问题也updated/changed.
现在的问题是windows使用':'作为驱动器分隔符,所以java必须使用';'分离类路径组件(尽管 运行 在 bash 上)。 bash 使用';'分隔命令,所以我们需要转义它。
尝试:
java -cp '.;pj2' pj2 cores=4 GrpahColSeq sampleInput.txt
或者,(未测试)无需 unjar 或编译 pj2
java -cp '.;pj2.jar' pj2 ores=4 GrpahColSeq sampleInput.txt
使用相同 CLASSPATH
export CLASSPATH='.;pj2.jar'
java pj2 cores=4 GrpahColSeq sampleInput.txt
这不会使之前的答案无效!
首先需要编译pj2
(如果pj2/lib
目录下没有pj2.class
):
javac *.java -cp pj2/lib/
现在您必须找到这个文件: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
我知道这个问题已经被问过很多次了,但是我浏览了很多解决方案,却找不到任何具体的答案。我正在尝试使用 Alan Kimisky 教授的 Parallel 2 库,称为 pj2。
此库用于 this 图形着色问题。 我的文件目录看起来像这样
我必须提取 pj2.jar 并将 edu 文件复制粘贴到项目文件夹,以便所有 .java 文件都可以编译
首先通过命令编译我所有的文件
javac *.java
之后我们使用了GitHub项目中提到的命令
java pj2 cores=1 GraphColSeq sampleInput
此后显示错误
Error: Could not find or load main class pj2
因此我在网上看到了
export CLASSPATH=.:/C/TabuParallelProgrammingAlgorithm/pj2.jar
错误尚未显示。我在线尝试了大多数解决方案,但同样的错误仍然存在。
计算机规格
Windows 10, i7, jdk 1.7
更新
如两个建议的解决方案所述,我下载了 pj2 的可执行文件,现在我的目录如下所示
没有 lib
目录,pj2.class
存在于 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
的方式有关。也许必须需要确切的文件路径。请让我知道您的建议。
您已经下载了源分发文件:
Version 20-Jun-2018 (6,399,014 bytes): pj2src_20180620.jar
获取可执行文件一个:
Version 20-Jun-2018 (1,133,935 bytes): pj2_20180620.jar
注意文件大小!
pj2_20180620.jar
文件应重命名为 pj2.jar
更新因为问题也updated/changed.
现在的问题是windows使用':'作为驱动器分隔符,所以java必须使用';'分离类路径组件(尽管 运行 在 bash 上)。 bash 使用';'分隔命令,所以我们需要转义它。
尝试:
java -cp '.;pj2' pj2 cores=4 GrpahColSeq sampleInput.txt
或者,(未测试)无需 unjar 或编译 pj2
java -cp '.;pj2.jar' pj2 ores=4 GrpahColSeq sampleInput.txt
使用相同 CLASSPATH
export CLASSPATH='.;pj2.jar'
java pj2 cores=4 GrpahColSeq sampleInput.txt
这不会使之前的答案无效!
首先需要编译pj2
(如果pj2/lib
目录下没有pj2.class
):
javac *.java -cp pj2/lib/
现在您必须找到这个文件: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