我收到了一个非常简单的类,其中包含一些文件夹,可以毫无问题地编译:
javac -classpath /home/DigestJavaLinux/classes DigestClass.java
在classes文件夹中,我有一个名为 OasisEMSecImp.class
的.class文件我怎么需要导入类并在另一个项目中使用它的方法,该方法为银行生成摘要字符串以检查交易,并接收总数和其他参数。
如果我添加
package digestclass;
到班级的开头它不起作用,我得到错误:
digestclass/DigestClass.java:136: cannot find symbol
symbol : class OasisEMSecImp
location: class DigestClass
OasisEMSecImp digest= new OasisEMSecImp();
^
digestclass/DigestClass.java:136: cannot find symbol
symbol : class OasisEMSecImp
location: class DigestClass
OasisEMSecImp digest= new OasisEMSecImp();
^
2 errors
更新 这是文件。它在没有包声明的情况下编译:
package digestclass;
import java.*;
class DigestClass {
private String varMerchant;
private String varStore; // Store ID
private String varTerm; // Term ID
private String varTotal; // Monto de Transaccion
private String varCurrency; // Codigo de Moneda
private String varOrder_id; // Order Id
private String varDigest; // Valor de Digest
public DigestClass(String varMerchant, String varStore, String varTerm,
String varTotal, String varCurrency, String varOrder_id,
String varDigest) {
super();
this.varMerchant = varMerchant;
this.varStore = varStore;
this.varTerm = varTerm;
this.varTotal = varTotal;
this.varCurrency = varCurrency;
this.varOrder_id = varOrder_id;
this.varDigest = varDigest;
}
public String generateDigest(){
OasisEMSecImp digest= new OasisEMSecImp();
varDigest = digest.getDigest(this.varTotal,this.varOrder_id,this.varMerchant,this.varStore,this.varTerm,this.varCurrency);
return varDigest;
}
}
为什么?怎么解决这个问题? 非常感谢你的时间。
答案 0 :(得分:0)
这就是我所理解的问题的原因以及我采取的措施。
就像John Skeet指出的那样,我正在尝试使用
类OasisEMSecImp
最初是在默认包中编译的,这意味着在编译时,声明
package example.package.OasisEMSecImp
在课程开始时没有使用。因此,它无法从属于某个包的类中调用,并且无法集成到我当前的项目中,这非常复杂并且在每个类中都使用包声明。
解决方法是,我创建了一个新的非常简单的应用程序,它通过命令行工作,可以通过exec从我的应用程序调用,例如:
Process process = Runtime.getRuntime().exec("java " +
"-Djava.library.path=/home/ernesto/DigestJavaLinux/lib " +
"-classpath /home/ernesto/workspace/digestUserTest/bin:/home/ernesto/workspace/digestUserTest/lib/digestgenerator.jar: " +
"ARGUMENTS");
,我理解这种情况
我希望这有助于某人。谢谢你的帮助。