0

roo で Oracle 10g をデータベースとして構成しています。これはエンティティ コマンドでは適切に機能しますが、データベース リバース エンジニアを使用しようとすると、以下の例外が発生します。誰でもこれで私を案内してもらえますか。

roo> database reverse engineer --schema Exception in thread "Spring Roo JLine Sh
     ell" java.lang.NoClassDefFoundError: javax/management/InstanceAlreadyExistsExcep
     tion
     at java.lang.Class.getDeclaredConstructors0(Native Method)
     at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
     at java.lang.Class.getConstructor0(Class.java:2699)
     at java.lang.Class.newInstance0(Class.java:326)
     at java.lang.Class.newInstance(Class.java:308)
     at org.springframework.roo.addon.jdbc.polling.internal.CommonJdbcDriverP
     rovider.loadDriver(CommonJdbcDriverProvider.java:55)
     at org.springframework.roo.addon.jdbc.polling.internal.PollingJdbcDriver
     Manager.loadDriver(PollingJdbcDriverManager.java:54)
     at org.springframework.roo.addon.dbre.jdbc.ConnectionProviderImpl.getCon
     nection(ConnectionProviderImpl.java:65)
     at org.springframework.roo.addon.dbre.jdbc.ConnectionProviderImpl.getCon
     nection(ConnectionProviderImpl.java:46)
     at org.springframework.roo.addon.dbre.model.DbreModelServiceImpl.getConn
     ection(DbreModelServiceImpl.java:74)
     at org.springframework.roo.addon.dbre.model.DbreModelServiceImpl.support
     sSchema(DbreModelServiceImpl.java:240)
     at org.springframework.roo.addon.dbre.converter.SchemaConverter.getAllPo
     ssibleValues(SchemaConverter.java:42)
     at org.springframework.roo.shell.SimpleParser.completeAdvanced(SimplePar
     ser.java:537)
     at org.springframework.roo.shell.jline.JLineCompletorAdapter.complete(JL
     ineCompletorAdapter.java:35)
     at jline.ConsoleReader.complete(ConsoleReader.java:936)
     at jline.ConsoleReader.readLine(ConsoleReader.java:603)
     at jline.ConsoleReader.readLine(ConsoleReader.java:457)
     at jline.ConsoleReader.readLine(ConsoleReader.java:283)
     at org.springframework.roo.shell.jline.JLineShell.promptLoop(JLineShell.
     java:413)
     at org.springframework.roo.shell.jline.JLineShell.run(JLineShell.java:53
     9)
     at java.lang.Thread.run(Thread.java:619)
     Caused by: java.lang.ClassNotFoundException: javax.management.InstanceAlreadyExi
     stsException not found by [76]
     at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation
     (ModuleImpl.java:812)
     at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:72)
     at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(Mod
     uleImpl.java:1807)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
      ... 21 more

必要なすべての OSGI モジュールがアクティブになっています

[  77] [Active     ] [    1] Java Resource API (1.5.0)
[  78] [Active     ] [    1] Java Transaction API (1.1.0)
[  79] [Active     ] [    1] Oracle JDBC Driver (10.2.0.2)
4

1 に答える 1

0

問題が見つかりました。オラクル用のOSGIドライバーの2つの別々のインスタンスがインストールされていて、競合が発生していたことがわかりました。

ドライバーの1つを削除した後、問題なく動作しています。

于 2012-10-03T09:45:33.590 に答える