2012-02-21 12 views
1

以下のJavaコードをMatlabで実行します。 JAVA環境で正常に動作しました。 私はこのコードを実行するためにMatlab環境で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は、次のエラーにMATLABは、明らかに異なるバージョンのJavaを使用している

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

あなたのクラスに対処するには、パッケージ名が必要かもしれません。それは何ですか? – bdecaf

+0

steps.In詳細で私を助けてください – shree

+0

あなたのコードにパッケージラインはありません - それを省略したかもしれません?たぶん役立つ:http://en.wikipedia.org/wiki/Java_package – bdecaf

答えて

3

を与えています1つはあなたの.jarをコンパイルするために使用しました。 MATLAB内で使用されるJavaバージョンでコンパイルしてください。あなたは、MATLABコマンドプロンプトから

version -java 

を呼び出し、その後、あなたの.jarをコンパイルするには、そのバージョンを使用してあなたは、あなたがあなたの質問に指定されたJavaのバージョン番号を決定する方法述べることを確認していなかったので。詳細はhereをご覧ください。

+0

@ Jonas Java VMバージョン:Java 1.6 .0_04 with Sun Microsystems Inc. Java HotSpot(TM)クライアントVM混合モード – shree

+0

私はあなたの提案をお試しください – shree

+0

Java 1.6.0_04をインストールしましたが、今度は**どのTimeclient **にもエラーはありません。このコードはあなたの努力と迅速な返答に感謝します。 – shree

関連する問題