java.lang.ClassNotFoundException:clojure中的java.util.Base64错误

时间:2016-07-29 07:20:12

标签: java clojure

我正在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 检索所需的库,但我不确定它是否检索所有必需的库。我不明白,为什么会这样?谁能帮我修复这个错误?感谢。

2 个答案:

答案 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]