2

我正在尝试按照Windows 7 中JSR321 入门中提供的教程在 Eclipse 中运行可信计算 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();
        }

    }

}

我还在 Eclipse 中为 IAIK jTSS(jTSS 0.7.1a)添加了外部 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