我正在使用JGraphT API并尝试编译并运行此演示(https://raw.githubusercontent.com/jgrapht/jgrapht/master/jgrapht-demo/src/main/java/org/jgrapht/demo/HelloJGraphT.java)。
我当前的目录包含.java文件和名为jgrapht-0.9.1的目录。 jgrapht-0.9.1包含所有.jar文件所在的文件夹lib。
我使用以下方法成功编译了文件:
javac -cp ./jgrapht-0.9.1/lib/*: HelloJGraphT.java
但是我在运行该程序时遇到了困难。我试过了:
java -cp ./jgrapht-0.9.1/lib/*: HelloJGraphT
java -cp "./jgrapht-0.9.1/lib/*:" HelloJGraphT
java -cp "./jgrapht-0.9.1/lib/*:." HelloJGraphT
但他们都没有奏效。我对classpath的语法感到很困惑,非常感谢任何帮助!
答案 0 :(得分:0)
首先,您必须写出主类的全名:
java -cp "jgrapht-0.9.1/lib/*:." org.jgrapht.demo.HelloJGraphT
其次,我假设编译的类在当前目录的目录结构中:
org/jgrapht/demo/HelloJGraphT.class
第三,必须使用JDK6或更高版本才能在类路径中使用通配符。