kettle无法连接mongodb怎么办

配置好mongodb连接之后,点击预览报下面的错:

报错:

java.lang.NoClassDefFoundError: javax/crypto/spec/PBEKeySpec

        at com.mongodb.DBPort$ScramSha1Authenticator$ScramSha1SaslClient.Hi(DBPort.java:822)

        at com.mongodb.DBPort$ScramSha1Authenticator$ScramSha1SaslClient.computeClientFinalMessage(DBPort.

        java:747)

        at com.mongodb.DBPort$ScramSha1Authenticator$ScramSha1SaslClient.evaluateChallenge(DBPort.java:681)

        at com.mongodb.DBPort$SaslAuthenticator.authenticate(DBPort.java:904)

        at com.mongodb.DBPort.authenticate(DBPort.java:432)

        at com.mongodb.DBPort.checkAuth(DBPort.java:443)

        at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:289)

        at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:269)

        at com.mongodb.DBCollectionImpl.find(DBCollectionImpl.java:84)

        at com.mongodb.DBCollectionImpl.find(DBCollectionImpl.java:66)

        at com.mongodb.DBCursor._check(DBCursor.java:498)

        at com.mongodb.DBCursor._hasNext(DBCursor.java:621)

        at com.mongodb.DBCursor.hasNext(DBCursor.java:657)

        at org.pentaho.mongo.wrapper.cursor.DefaultCursorWrapper.hasNext(DefaultCursorWrapper.java:34)

        at org.pentaho.di.trans.steps.mongodbinput.MongoDbInput.processRow(MongoDbInput.java:89)

        at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)

        at java.lang.Thread.run(Thread.java:745)

Caused by:  java.lang.ClassNotFoundException: javax.crypto.spec.PBEKeySpec not found by org.mongodb.mongo-

java-driver

[59]

        at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.

        java:1532)

        at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)

        at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

        ... 17 more

解决办法:

kettle安装文件目录:data-integrationsystemkarafetcconfig.properties

文件中下部有一行 org.osgi.framework.bootdelegation=(一堆参数)

在末尾处加上  ,javax.crypto,javax.crypto.*

Mongo就可以正常连接读取数据了。

网,大量的免费MongoDB入门教程,欢迎在线学习!

以上是 kettle无法连接mongodb怎么办 的全部内容, 来源链接: utcz.com/z/538206.html

回到顶部