我正在尝试按照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中添加了所有提到的依赖项。
请提出解决方案。
谢谢