无法加入
问题描述:
我收到一个非常简单的类与某些文件夹,编译这样没有问题包声明时创建的jar:无法加入
javac -classpath /home/DigestJavaLinux/classes DigestClass.java
在类文件夹中我有一个.class文件名为OasisEMSecImp.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
UPDATE: 这是文件。它编译没有包声明:
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;
}
}
为什么?如何解决这个问题? 非常感谢您的时间。
答
这就是我所理解的问题的原因,我做了什么来解决它。
像约翰·斯基特指出,I类试图用
OasisEMSecImp
在默认的包最初编译,这意味着当它被编译,报关
包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");
我明白这是形势感谢this link
我希望这可以帮助别人。并感谢您的帮助。
您将包声明添加到哪个类?请注意,如果a)您的源代码布局符合您的包布局,并且b)您使用IDE构建代码,直至您对Java更加充满信心,那么您会发现生活更简单。 – 2013-03-22 17:21:52
你好,即时将包声明添加到DigestClass.java。我试图添加功能到我们已经在eclipse,intellij中设置的一个大项目,以及在Adobe Flex中的flex部分。我在后端使用spring + hibernate。这个问题是让类工作的另一种方式,因为我永远不能让OasisEMSecImp类被Eclipse或Ant识别:http://stackoverflow.com/questions/15351012/unable-to-compile-from-ant-but -works-from-the-command-line-why。它非常令人沮丧。因为它非常简单,我会将类文件添加到问题中。谢谢 – Ernest 2013-03-22 17:50:19
'OasisEMSecImp'只是默认的包? (不幸的是,这是一个糟糕的主意。) – 2013-03-22 17:53:07