我开发了一个简单的java程序来运行APDU命令。它很好用。
文件结构是
/moc
/omnikey
--Applet.java
--API.java
/omnikey.api
/omnikey.util
... another 3 more packages ...现在,我希望将所有这些额外的包提取到一个新项目中,只留下omnikey包(与Applet.java和API.java一起)来创建具有所需功能的.jar。
所以我创建了一个新项目,复制了所有文件,修复了包引用,并链接了所需的外部jars .现在它不管用了..。
“新”文件结构如下所示
/apdu
/apduservice
/api
... files ...
/util
... files ...
/moc
/omnikey
Applet.java
API.java由于某种原因,当我从apdu项目中声明某些内容时,执行将挂起。如果我做了
System.out.println("flag 1");
try {
apduservice.api.MocService ser = new apduservice.api.MocService(null);
} catch (CardServiceException e) {
e.printStackTrace();
}
System.out.println("flag 2");我没有得到错误跟踪,输出是flag 1。除非强制执行否则不会停止执行。
如果我在前面的配置中尝试相同的操作,那么一切都会正常工作。
System.out.println("flag 1");
try {
omnikey.api.MocService ser = new apduservice.api.MocService(null);
} catch (CardServiceException e) {
e.printStackTrace();
}
System.out.println("flag 2");
//output flag 1 and flag 2我不知道错误可能在哪里。我尝试将第二个项目导出为jar,作为runnable,将其作为Eclipse中的一个项目引用,没有任何结果。我尝试过寻找一个解决方案,但是由于没有错误,所以很难知道该寻找什么。
如果有人能照亮我会很感激的。
PD:似乎不是Eclipse问题,我在其他项目中引用过项目,它工作得很好.
PD2:我不使用Maven或类似的东西来处理引用。我宁愿不去,至少现在是这样。
发布于 2014-04-16 16:25:57
决定回答这个问题,因为这是不符合逻辑的。
解决方案:
更改工作区,打开两个项目并链接它们。月食只是过了一天。
https://stackoverflow.com/questions/20802109
复制相似问题