在Play Framework中混合使用scala和java
发布时间:2020-12-16 10:03:25 所属栏目:安全 来源:网络整理
导读:我有一个看起来像这样的 Java文件: package AuthorizeNetFingerprint;class Fingerprint { private static Log logger = LogFactory.getLog(Fingerprint.class); private long sequence; private long timeStamp; private String fingerprintHash; private
我有一个看起来像这样的
Java文件:
package AuthorizeNetFingerprint; class Fingerprint { private static Log logger = LogFactory.getLog(Fingerprint.class); private long sequence; private long timeStamp; private String fingerprintHash; private Fingerprint() { } /** * Creates a fingerprint with raw data fields. * * @param loginID * @param transactionKey * @param sequence : this number will be concatenated with a random value * @param amount * @return A Fingerprint object. */ public static String createFingerprint(String loginID,String transactionKey,long sequence,String amount) { return transactionKey; } } 我试图像这个scala一样访问它: val fingerprint = new AuthorizeNetFingerprint.Fingerprint val x_fp_hash = fingerprint.createFingerprint(x_api_login_id,transaction_key,x_fp_sequence,x_amount) 它给了我这个错误: 对象AuthorizeNetFingerprint包中的指纹无法在AuthorizeNetFingerprint包中访问 是否可以在Play Framework中混合使用scala和java? 我做错了什么? 编辑 我需要: 代替 class Fingerprint 解决方法
三件事:
>正如您已经想到的那样,您的指纹类需要公开. 您的示例中的所有Scala代码都应替换为: val x_fp_hash = AuthorizeNetFingerprint.Fingerprint.createFingerprint(…) 这适用于Scala(2.9.1)控制台,使用sbt(0.11.3)编译. 是的,您可以在Play2应用程序中混合使用Java和Scala,只需将Java代码放在app目录中即可.请注意,Java类需要位于相应的包目录中,而Scala类则不是这样. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |