我想在Matlab中运行下面的Java代码。 它在JAVA环境中成功运行。 我正在使用
Apache的雅加达公地净1.4.1.jar
运行此代码。
我使用的软件是
MATLAB Version 7.7.0.471 (R2008b)
Operating System: Microsoft Windows Vista Version 6.1 (Build 7600)
Java VM Version: Java 1.6.0_04 with Sun Microsystems Inc.
Java HotSpot(TM) Client VM mixed mode
我的java代码是
import java.io.IOException;
import org.apache.commons.net.TimeTCPClient;// third party class
public final class TimeClient
{
public static final void timeTCP(String host) throws IOException
{
TimeTCPClient client = new TimeTCPClient();
try {
// We want to timeout if a response takes longer than 4 seconds
client.setDefaultTimeout(4000);
client.connect(host);
System.out.println(client.getDate());
}
finally {
client.disconnect();
}
}
public static final void main(String[] args)
{
{
try
{
timeTCP(args[0]);
}
catch (IOException e)
{
e.printStackTrace();
System.exit(1);
}
}
}
}
which timeclient
发出以下错误
Warning: A Java exception occurred trying to load the TimeClient class:
Java exception occurred:
java.lang.UnsupportedClassVersionError: TimeClient : Unsupported major.minor
version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at
com.mathworks.jmi.OpaqueJavaInterface.findClass(OpaqueJavaInterface.java:470)
'TimeClient' not found.
答案 0 :(得分:3)
MATLAB显然使用的是与您用来编译.jar
的Java版本不同的Java版本。确保使用MATLAB中使用的Java版本进行编译。由于您没有说明如何确定问题中给出的Java版本号,请确保调用
version -java
从Matlab命令提示符,然后使用该版本编译.jar
。可以找到更多信息here。