Roo Google IOを見た後、このチュートリアルを使用して試してみることにしましたが、Seleniumテストを作成しようとすると行き詰まります。
~.web roo> selenium test --controller ~.web.PizzaOrderController
Created SRC_MAIN_WEBAPP/selenium
Created SRC_MAIN_WEBAPP/selenium/test-pizzaorder.xhtml
Created SRC_MAIN_WEBAPP/selenium/test-suite.xhtml
Undo create SRC_MAIN_WEBAPP/selenium/test-suite.xhtml
Undo create SRC_MAIN_WEBAPP/selenium/test-pizzaorder.xhtml
Undo create SRC_MAIN_WEBAPP/selenium
com.sun.org.apache.xerces.internal.dom.DeferredCommentImpl cannot be cast to org.w3c.dom.Element
このフォーラムの担当者は、Java 6にはXercesに基づく独自のXMLパーサーがあるため、クラスパスからXercesを削除することを提案しました。ただし、クラスパスから何かを削除する明確な方法はありません。設定するだけです(毎回面倒だと思います)。
クラスパスからjarを削除する明確な方法を知っている人はいますか?誰かが以前にこのRooの問題に遭遇し、別の方法で解決したことがありますか?
アップデート
要求に応じて、より詳細な出力を次に示します。
roo> development mode
Development mode set to true
roo> selenium test --controller ~.web.PizzaOrderController
Created SRC_MAIN_WEBAPP/selenium
Created SRC_MAIN_WEBAPP/selenium/test-pizzaorder.xhtml
Created SRC_MAIN_WEBAPP/selenium/test-suite.xhtml
Undo create SRC_MAIN_WEBAPP/selenium/test-suite.xhtml
Undo create SRC_MAIN_WEBAPP/selenium/test-pizzaorder.xhtml
Undo create SRC_MAIN_WEBAPP/selenium
com.sun.org.apache.xerces.internal.dom.DeferredCommentImpl cannot be cast to org.w3c.dom.Element
java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.DeferredCommentImpl cannot be cast to org.w3c.dom.Element
at org.springframework.roo.addon.web.menu.MenuOperationsImpl.addMenuItem(MenuOperationsImpl.java:88)
at org.springframework.roo.addon.web.selenium.SeleniumOperationsImpl.manageTestSuite(SeleniumOperationsImpl.java:185)
at org.springframework.roo.addon.web.selenium.SeleniumOperationsImpl.generateTest(SeleniumOperationsImpl.java:140)
at org.springframework.roo.addon.web.selenium.SeleniumCommands.generateTest(SeleniumCommands.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.roo.support.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:191)
at org.springframework.roo.process.manager.ProcessManagerHostedExecutionStrategy$1.callback(ProcessManagerHostedExecutionStrategy.java:34)
at org.springframework.roo.process.manager.internal.DefaultProcessManager.doTransactionally(DefaultProcessManager.java:169)
at org.springframework.roo.process.manager.internal.DefaultProcessManager.execute(DefaultProcessManager.java:132)
at org.springframework.roo.process.manager.ProcessManagerHostedExecutionStrategy.execute(ProcessManagerHostedExecutionStrategy.java:32)
at org.springframework.roo.shell.AbstractShell.executeCommand(AbstractShell.java:158)
at org.springframework.roo.shell.jline.JLineShell.promptLoop(JLineShell.java:200)
at org.springframework.roo.shell.jline.JLineShell.run(JLineShell.java:126)
at java.lang.Thread.run(Thread.java:619)