我能';我不知道如何从命令行调用Java oscar3类方法stringToString

我能';我不知道如何从命令行调用Java oscar3类方法stringToString,java,jar,classpath,class-method,Java,Jar,Classpath,Class Method,我试图从命令行调用一个Java类方法,但我一生中都无法理解语法。该方法是在此类中找到的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.os

我试图从命令行调用一个Java类方法,但我一生中都无法理解语法。该方法是在此类中找到的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-Xmx512m-cp oscar3-a5/oscar3-a5.jar uk.ac.cam.ch.wwmm.oscar3.oscar3字符串测试

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

java-Xmx512m-cp./oscar3-a5.jar uk.ac.cam.ch.wwmm.oscar3.oscar3字符串测试


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

您是在Windows还是*nix平台上运行该命令?这是一个巨大的帮助。它没有按编写的方式运行,但我将oscar3-a5.jar添加到
/Library/Java/Extensions
。一旦它被添加到该目录中,我就可以调用public类方法。很遗憾,它没有将返回值输出到屏幕。我想我可能得用叉子叉。