我无法弄清楚如何从命令行调用Java oscar3类方法stringToString

时间:2013-08-09 22:42:32

标签: java jar classpath class-method

我正在尝试从命令行调用Java类方法,但对于我的生活来说无法弄清楚语法。该方法是在此类http://apidoc.ch.cam.ac.uk/oscar3/apidocs/uk/ac/cam/ch/wwmm/oscar3/Oscar3.html

中找到的stringToString

我尝试过:

java -Xmx512m -classpath .:oscar3-a5:lib/oscar3-a5.jar uk.ac.cam.ch.wwmm.oscar3.Oscar3 stringToString "test"

java -Xmx512m -classpath .:oscar3-a5:lib/oscar3-a5.jar uk.ac.cam.ch.wwmm.oscar3 Oscar3(stringToString "test)

java -classpath .:oscar3-a5.jar:lib/uk.ac.cam.ch.wwmm.oscar3.Oscar3 stringToString "test"

抱怨这样:

Exception in thread "main" java.lang.NoClassDefFoundError: uk/ac/cam/ch/wwmm/oscar3/Oscar3
Caused by: java.lang.ClassNotFoundException: uk.ac.cam.ch.wwmm.oscar3.Oscar3
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

我也看过这个(Java: how to import a jar file from command line)寻找一个解决方案,但显然我太迟迟不能看到明显的了。如果有人知道正确的语法,任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

你非常接近!我想你想要以下内容:

java -Xmx512m -cp oscar3-a5/oscar3-a5.jar uk.ac.cam.ch.wwmm.oscar3.Oscar3 stringToString test

或者,如果您当前的工作目录(pwd)与oscar3-a5.jar所在的目录相同,则:

java -Xmx512m -cp ./oscar3-a5.jar uk.ac.cam.ch.wwmm.oscar3.Oscar3 stringToString test

(我假设您在* nix上运行 - 如果您在Windows上运行,请将/替换为\