Java Fitnesse Maven类路径错误
我正在尝试为我当前的项目设置Fitnesse pom.xml配置具有:Java Fitnesse Maven类路径错误,java,fitnesse,acceptance-testing,fitnesse-slim,Java,Fitnesse,Acceptance Testing,Fitnesse Slim,我正在尝试为我当前的项目设置Fitnesse pom.xml配置具有: <!-- https://mvnrepository.com/artifact/org.fitnesse/fitnesse --> <dependency> <groupId>org.fitnesse</groupId> <artifactId>fitnesse</artifactId> <version>201611
<!-- https://mvnrepository.com/artifact/org.fitnesse/fitnesse -->
<dependency>
<groupId>org.fitnesse</groupId>
<artifactId>fitnesse</artifactId>
<version>20161106</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.fitnesse.plugins</groupId>
<artifactId>maven-classpath-plugin</artifactId>
<version>1.9</version>
<scope>runtime</scope>
</dependency>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>start-fitnesse</id>
<phase>test</phase>
<configuration>
<tasks>
<echo taskname="fitnesse" message="Starting FitNesse..." />
<java classname="fitnesseMain.FitNesseMain" classpathref="maven.runtime.classpath" fork="true">
<arg line="-p 8000" />
<arg line="-d ." />
</java>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
现在,当我添加此文件时,在启动服务器时出现以下错误:
main:
[fitnesse] Starting FitNesse...
[java] SEVERE: Error while starting the FitNesse [Unable to instantiate component for type fitnesse.wikitext.widgets.MavenClasspathSymbolType]
[java] fitnesse.components.ComponentInstantiationException: Unable to instantiate component for type fitnesse.wikitext.widgets.MavenClasspathSymb
olType
[java] at fitnesse.components.ComponentFactory.createComponent(ComponentFactory.java:75)
[java] at fitnesse.plugins.PropertyBasedPluginFeatureFactory$8.register(PropertyBasedPluginFeatureFactory.java:152)
[java] at fitnesse.plugins.PropertyBasedPluginFeatureFactory.forEachClass(PropertyBasedPluginFeatureFactory.java:144)
[java] at fitnesse.plugins.PropertyBasedPluginFeatureFactory.forEachObject(PropertyBasedPluginFeatureFactory.java:150)
[java] at fitnesse.plugins.PropertyBasedPluginFeatureFactory.registerSymbolTypes(PropertyBasedPluginFeatureFactory.java:75)
[java] at fitnesse.plugins.PluginsLoader.loadSymbolTypes(PluginsLoader.java:87)
[java] at fitnesse.ContextConfigurator.makeFitNesseContext(ContextConfigurator.java:151)
[java] at fitnesseMain.FitNesseMain.launchFitNesse(FitNesseMain.java:69)
[java] at fitnesseMain.FitNesseMain.launchFitNesse(FitNesseMain.java:58)
[java] at fitnesseMain.FitNesseMain.main(FitNesseMain.java:38)
[java] Caused by: java.lang.reflect.InvocationTargetException
[java] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[java] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[java] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[java] at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
[java] at fitnesse.components.ComponentFactory.createComponent(ComponentFactory.java:72)
[java] ... 9 more
[java] Caused by: java.lang.NoSuchMethodError: com.google.common.collect.MapMaker.makeComputingMap(Lcom/google/common/base/Function;)Ljava/util/c
oncurrent/ConcurrentMap;
[java] at com.google.inject.internal.Annotations$AnnotationChecker.<init>(Annotations.java:104)
[java] at com.google.inject.internal.Annotations.<clinit>(Annotations.java:122)
[java] at com.google.inject.Key.ensureRetainedAtRuntime(Key.java:362)
[java] at com.google.inject.Key.strategyFor(Key.java:354)
[java] at com.google.inject.Key.get(Key.java:222)
[java] at org.sonatype.guice.bean.binders.ParameterKeys.<clinit>(ParameterKeys.java:23)
[java] at org.codehaus.plexus.DefaultPlexusContainer$ContainerModule.configure(DefaultPlexusContainer.java:801)
[java] at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:229)
[java] at com.google.inject.spi.Elements.getElements(Elements.java:103)
[java] at com.google.inject.spi.Elements.getElements(Elements.java:80)
[java] at org.sonatype.guice.bean.binders.MergedModule.configure(MergedModule.java:54)
[java] at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:229)
[java] at com.google.inject.spi.Elements.getElements(Elements.java:103)
[java] at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:136)
[java] at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
[java] at com.google.inject.Guice.createInjector(Guice.java:94)
[java] at com.google.inject.Guice.createInjector(Guice.java:71)
[java] at com.google.inject.Guice.createInjector(Guice.java:61)
[java] at org.codehaus.plexus.DefaultPlexusContainer.addPlexusInjector(DefaultPlexusContainer.java:470)
[java] at org.codehaus.plexus.DefaultPlexusContainer.<init>(DefaultPlexusContainer.java:196)
[java] at org.codehaus.plexus.DefaultPlexusContainer.<init>(DefaultPlexusContainer.java:160)
[java] at fitnesse.wikitext.widgets.MavenClasspathExtractor.buildPlexusContainer(MavenClasspathExtractor.java:219)
[java] at fitnesse.wikitext.widgets.MavenClasspathExtractor.buildPlexusContainer(MavenClasspathExtractor.java:215)
[java] at fitnesse.wikitext.widgets.MavenClasspathExtractor.<init>(MavenClasspathExtractor.java:51)
[java] at fitnesse.wikitext.widgets.MavenClasspathSymbolType.<init>(MavenClasspathSymbolType.java:39)
[java] ... 14 more
[java] Java Result: 1
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15.552 s
[INFO] Finished at: 2018-03-27T12:58:00-04:00
[INFO] Final Memory: 29M/500M
[INFO] ------------------------------------------------------------------------
[WARNING] The requested profile "fitnesse" could not be activated because it does not exist.
main:
[fitnesse]启动fitnesse。。。
[java]严重:启动FitNesse时出错[无法实例化FitNesse.wikitext.widgets.MavenClasspathSymbolType类型的组件]
[java]fitnesse.components.ComponentInstationException:无法实例化fitnesse.wikitext.widgets.MavenClasspathSymb类型的组件
olType
[java]位于fitnesse.components.ComponentFactory.createComponent(ComponentFactory.java:75)
[java]位于fitnesse.plugins.PropertyBasedPluginFeatureFactory$8.register(PropertyBasedPluginFeatureFactory.java:152)
[java]位于fitnesse.plugins.PropertyBasedPluginFeatureFactory.forEachClass(PropertyBasedPluginFeatureFactory.java:144)
[java]位于fitnesse.plugins.PropertyBasedPluginFeatureFactory.forEachObject(PropertyBasedPluginFeatureFactory.java:150)
[java]位于fitnesse.plugins.PropertyBasedPluginFeatureFactory.registerSymbolTypes(PropertyBasedPluginFeatureFactory.java:75)
[java]位于fitnesse.plugins.PluginsLoader.loadSymbolTypes(PluginsLoader.java:87)
[java]位于fitnesse.ContextConfigurator.MakefitneseContext(ContextConfigurator.java:151)
[java]位于fitnessmain.fitnessmain.launchFitNesse(fitnessmain.java:69)
[java]位于fitnessmain.fitnessmain.launchFitNesse(fitnessmain.java:58)
[java]位于fitnesseMain.fitnesseMain.main(fitnesseMain.java:38)
[java]由以下原因引起:java.lang.reflect.InvocationTargetException
[java]位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
[java]位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[java]位于sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[java]位于java.lang.reflect.Constructor.newInstance(Constructor.java:408)
[java]位于fitnesse.components.ComponentFactory.createComponent(ComponentFactory.java:72)
[java]。。。9更多
[java]原因:java.lang.NoSuchMethodError:com.google.common.collect.MapMaker.makeComputingMap(Lcom/google/common/base/Function;)Ljava/util/c
oncurrent/ConcurrentMap;
[java]位于com.google.inject.internal.Annotations$AnnotationChecker.(Annotations.java:104)
[java]位于com.google.inject.internal.Annotations.(Annotations.java:122)
[java]位于com.google.inject.Key.ensureRetainedAtRuntime(Key.java:362)
[java]位于com.google.inject.Key.strategyFor(Key.java:354)
[java]位于com.google.inject.Key.get(Key.java:222)
[java]位于org.sonatype.guice.bean.binders.ParameterKeys.(ParameterKeys.java:23)
[java]位于org.codehaus.plexus.DefaultPlexusContainer$ContainerModule.configure(DefaultPlexusContainer.java:801)
[java]位于com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:229)
[java]位于com.google.inject.spi.Elements.getElements(Elements.java:103)
[java]位于com.google.inject.spi.Elements.getElements(Elements.java:80)
[java]位于org.sonatype.guice.bean.binders.MergedModule.configure(MergedModule.java:54)
[java]位于com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:229)
[java]位于com.google.inject.spi.Elements.getElements(Elements.java:103)
[java]位于com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:136)
[java]位于com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
[java]位于com.google.inject.Guice.createInjector(Guice.java:94)
[java]位于com.google.inject.Guice.createInjector(Guice.java:71)
[java]位于com.google.inject.Guice.createInjector(Guice.java:61)
[java]位于org.codehaus.plexus.DefaultPlexusContainer.addPlexusInjector(DefaultPlexusContainer.java:470)
[java]位于org.codehaus.plexus.DefaultPlexusContainer。(DefaultPlexusContainer.java:196)
[java]位于org.codehaus.plexus.DefaultPlexusContainer。(DefaultPlexusContainer.java:160)
[java]位于fitnesse.wikitext.widgets.MavenClasspathExtractor.buildPlexusContainer(MavenClasspathExtractor.java:219)
[java]位于fitnesse.wikitext.widgets.MavenClasspathExtractor.buildPlexusContainer(MavenClasspathExtractor.java:215)
[java]位于fitnesse.wikitext.widgets.MavenClasspathExtractor.(MavenClasspathExtractor.java:51)
[java]位于fitnesse.wikitext.widgets.MavenClasspathSymbolType。(MavenClasspathSymbolType.java:39)
[java]。。。14多
[java]java结果:1
[信息]已执行的任务
[信息]------------------------------------------------------------------------
[信息]建立成功
[信息]------------------------------------------------------------------------
[信息]总时间:15.552秒
[信息]完成时间:2018-03-27T12:58:00-04:00
[信息]最终记忆:29米/500米
[信息]------------------------------------------------------------------------
[警告]无法激活请求的配置文件“fitnesse”,因为它不存在。
要使Fitnesse正常工作,我必须做些什么?您的运行时类路径上可能有另一个库,它使用的guice版本比maven类路径插件使用的要新。当我在运行测试时将selenium放在类路径上时,我也遇到了类似的情况:这破坏了maven类路径插件 我现在使用两种策略来运行fitnesse测试:
java-jar fitness-standalone.zip-p8000
)启动wiki,并将插件的jar与依赖项(maven分类器“jar与依赖项”)放在“plugins”子目录中。这样,我的设备的任何依赖项都不在wiki的类路径上(wiki启动一个新的JVM,使用类路径)
main:
[fitnesse] Starting FitNesse...
[java] SEVERE: Error while starting the FitNesse [Unable to instantiate component for type fitnesse.wikitext.widgets.MavenClasspathSymbolType]
[java] fitnesse.components.ComponentInstantiationException: Unable to instantiate component for type fitnesse.wikitext.widgets.MavenClasspathSymb
olType
[java] at fitnesse.components.ComponentFactory.createComponent(ComponentFactory.java:75)
[java] at fitnesse.plugins.PropertyBasedPluginFeatureFactory$8.register(PropertyBasedPluginFeatureFactory.java:152)
[java] at fitnesse.plugins.PropertyBasedPluginFeatureFactory.forEachClass(PropertyBasedPluginFeatureFactory.java:144)
[java] at fitnesse.plugins.PropertyBasedPluginFeatureFactory.forEachObject(PropertyBasedPluginFeatureFactory.java:150)
[java] at fitnesse.plugins.PropertyBasedPluginFeatureFactory.registerSymbolTypes(PropertyBasedPluginFeatureFactory.java:75)
[java] at fitnesse.plugins.PluginsLoader.loadSymbolTypes(PluginsLoader.java:87)
[java] at fitnesse.ContextConfigurator.makeFitNesseContext(ContextConfigurator.java:151)
[java] at fitnesseMain.FitNesseMain.launchFitNesse(FitNesseMain.java:69)
[java] at fitnesseMain.FitNesseMain.launchFitNesse(FitNesseMain.java:58)
[java] at fitnesseMain.FitNesseMain.main(FitNesseMain.java:38)
[java] Caused by: java.lang.reflect.InvocationTargetException
[java] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[java] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[java] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[java] at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
[java] at fitnesse.components.ComponentFactory.createComponent(ComponentFactory.java:72)
[java] ... 9 more
[java] Caused by: java.lang.NoSuchMethodError: com.google.common.collect.MapMaker.makeComputingMap(Lcom/google/common/base/Function;)Ljava/util/c
oncurrent/ConcurrentMap;
[java] at com.google.inject.internal.Annotations$AnnotationChecker.<init>(Annotations.java:104)
[java] at com.google.inject.internal.Annotations.<clinit>(Annotations.java:122)
[java] at com.google.inject.Key.ensureRetainedAtRuntime(Key.java:362)
[java] at com.google.inject.Key.strategyFor(Key.java:354)
[java] at com.google.inject.Key.get(Key.java:222)
[java] at org.sonatype.guice.bean.binders.ParameterKeys.<clinit>(ParameterKeys.java:23)
[java] at org.codehaus.plexus.DefaultPlexusContainer$ContainerModule.configure(DefaultPlexusContainer.java:801)
[java] at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:229)
[java] at com.google.inject.spi.Elements.getElements(Elements.java:103)
[java] at com.google.inject.spi.Elements.getElements(Elements.java:80)
[java] at org.sonatype.guice.bean.binders.MergedModule.configure(MergedModule.java:54)
[java] at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:229)
[java] at com.google.inject.spi.Elements.getElements(Elements.java:103)
[java] at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:136)
[java] at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
[java] at com.google.inject.Guice.createInjector(Guice.java:94)
[java] at com.google.inject.Guice.createInjector(Guice.java:71)
[java] at com.google.inject.Guice.createInjector(Guice.java:61)
[java] at org.codehaus.plexus.DefaultPlexusContainer.addPlexusInjector(DefaultPlexusContainer.java:470)
[java] at org.codehaus.plexus.DefaultPlexusContainer.<init>(DefaultPlexusContainer.java:196)
[java] at org.codehaus.plexus.DefaultPlexusContainer.<init>(DefaultPlexusContainer.java:160)
[java] at fitnesse.wikitext.widgets.MavenClasspathExtractor.buildPlexusContainer(MavenClasspathExtractor.java:219)
[java] at fitnesse.wikitext.widgets.MavenClasspathExtractor.buildPlexusContainer(MavenClasspathExtractor.java:215)
[java] at fitnesse.wikitext.widgets.MavenClasspathExtractor.<init>(MavenClasspathExtractor.java:51)
[java] at fitnesse.wikitext.widgets.MavenClasspathSymbolType.<init>(MavenClasspathSymbolType.java:39)
[java] ... 14 more
[java] Java Result: 1
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15.552 s
[INFO] Finished at: 2018-03-27T12:58:00-04:00
[INFO] Final Memory: 29M/500M
[INFO] ------------------------------------------------------------------------
[WARNING] The requested profile "fitnesse" could not be activated because it does not exist.