我正在Ubuntu(Linux)操作系统中学习 clojure 。我面临一个意想不到的错误。在我的系统中一切正常。当我移动相同的代码时不同系统中的数据,我收到了一个错误。我运行以下命令:
public class TableNameParameter : Parameter
{
public override Boolean CanSupplyValue(
ParameterInfo pi, IComponentContext context, out Func<Object> valueProvider)
{
valueProvider = null;
if (pi.ParameterType != typeof(String) && pi.Name != "tableName")
return false;
valueProvider = () =>
{
ITableNameResolver tableNameResolver = context.Resolve<ITableNameResolver>();
Type entityType = pi.Member.DeclaringType.GetGenericArguments()[0];
String tableName = tableNameResolver.GetTableName(entityType);
return tableName;
};
return true;
}
}
lein 检索所需的库,但我不确定它是否检索所有必需的库。我不明白,为什么会这样?谁能帮我修复这个错误?感谢。
答案 0 :(得分:0)
您的Java版本可能低于8。
您可以切换为使用Java 8运行已编译的clojure代码(如果没有,则更新为Java 8),或者使用Apache Commons Codec库中的Base64,可以查看此帖子以了解详细信息:{ {3}}
答案 1 :(得分:0)
我在使用OpenJDK 8时遇到了这个问题...
原来,我错过了一个嵌套类的事实
我试图这样导入
[java.util.Base64 Encoder]
这是不正确的,这是正确的:
[java.util Base64$Encoder]