2

「 Windows 7での JSR321 の使用開始」で提供されているチュートリアルに従って、Eclipse で Trusted Computing API JSR321 を実行しようとしています。

TPM を正常に有効にした後 (メーカー: STM & バージョン: 1.2)。

チュートリアルで与えられたコードを実行しようとしましたが、

import javax.trustedcomputing.tpm.TPMContext;       

public class HellowWorld {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try{
            TPMContext context = TPMContext.getInstance();
            context.connect(null);
            //Do somthing cool here         
            context.close();
        }
        catch (Exception e){
            e.printStackTrace();
        }

    }

}

また、IAIK jTSS ( jTSS 0.7.1a )の eclipse のクラスパスとして外部 jar ファイルを追加しました。

jsr321.tpmcontextimplプロパティを TPMContext 実装のクラス名に設定する必要があります。例えばjava -cp YourClasspath -Djsr321.tpmcontextimpl=iaik.tc.jsr321.tpm.TPMContextImpl yourjavaapplication.class

そこで、プロジェクトを右クリックして [ Run As ] -> [ Run Configuration ]に移動し、 VM 引数用に提供されたセクションの [ Arguments ] タブで、上記のコードを追加しました。次のコマンドを挿入しました。

-cp C:\Users\workspace\HelloWorld\bin -Djsr321.tpmcontextimpl=iaik.tc.jsr321.tpm.TPMContextImpl HellowWorld

しかし、次のエラーが発生します。

Exception in thread "main" java.lang.NoClassDefFoundError: javax/trustedcomputing/tpm/TPMContext
   at HellowWorld.main(HellowWorld.java:10)
Caused by: java.lang.ClassNotFoundException: javax.trustedcomputing.tpm.TPMContext
   at java.net.URLClassLoader$1.run(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)
   ... 1 more

Project Properties内のJava Build Pathsに、言及されているすべての依存関係を既に追加しました。

親切に解決策を提案してください。

ありがとう

4

0 に答える 0