com.netflix.governator.guice.BootstrapBinder.install上的java.net.MalformedURLException

时间:2016-09-29 12:48:58

标签: java json maven tomcat maven-plugin

我正在使用tomcat maven plug-In运行集成测试用例,在maven build (clean install)期间我想要运行一些集成测试,所以为了运行它们我使用tomcat7 plug-In运行在集成测试之前,在集成测试之后关闭。最初我的tomcat并没有开始,但我解决了这个问题,但我又得到了java.net.MalformedURLException。我搜索了这个exception,这是由于一些网址错误引起的,例如使用htp代替http。但是在我的网址中仅取http

Tomcat Maven插件:

<plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <port>8989</port>
                <path>/${project.name}</path>
                <systemProperties>
                    <!-- We want test configuration for running integration tests. -->
                    <archaius.deployment.environment>test</archaius.deployment.environment>
                    <logback-lib.env>filesystem</logback-lib.env>
                </systemProperties>
            </configuration>
            <executions>
                <execution>
                    <id>start-tomcat</id>
                    <phase>pre-integration-test</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <systemProperties>
                            <!-- We want test configuration for running integration tests. -->
                            <archaius.deployment.environment>test</archaius.deployment.environment>
                            <logback-lib.env>filesystem</logback-lib.env>
                        </systemProperties>
                        <fork>true</fork>
                    </configuration>
                </execution>
                <execution>
                    <id>stop-tomcat</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>shutdown</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

我收到以下exception: -

Configuration override awssdk_config_override.json not found.
Sep 29, 2016 12:44:51 PM com.google.inject.internal.MessageProcessor visit
INFO: An exception was caught and reported. Message: java.lang.NullPointerException
java.lang.RuntimeException: java.net.MalformedURLException
at com.netflix.config.sources.URLConfigurationSource.createUrls(URLConfigurationSource.java:86)
at com.netflix.config.sources.URLConfigurationSource.<init>(URLConfigurationSource.java:73)
at com.charter.aesd.archaius.ExtendedDynamicURLConfiguration.init(ExtendedDynamicURLConfiguration.java:97)
at com.charter.aesd.archaius.ConfigurationManager.install(ConfigurationManager.java:46)
at com.charter.aesd.archaius.ArchaiusModule.configure(ArchaiusModule.java:60)
at com.google.inject.AbstractModule.configure(AbstractModule.java:59)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
at com.netflix.governator.guice.BootstrapBinder.install(BootstrapBinder.java:142)
at com.charter.aesd.che.callerid.config.Bootstrap.configureBootstrapBinder(Bootstrap.java:22)
at com.netflix.karyon.server.ServerBootstrap$KaryonBootstrapModule.configure(ServerBootstrap.java:272)
at com.netflix.governator.guice.InternalBootstrapModule.configure(InternalBootstrapModule.java:70)
at com.google.inject.AbstractModule.configure(AbstractModule.java:59)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
at com.google.inject.spi.Elements.getElements(Elements.java:101)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103)
at com.google.inject.Guice.createInjector(Guice.java:95)
at com.google.inject.Guice.createInjector(Guice.java:83)
at com.netflix.governator.guice.LifecycleInjector.<init>(LifecycleInjector.java:198)
at com.netflix.governator.guice.LifecycleInjectorBuilderImpl.build(LifecycleInjectorBuilderImpl.java:123)
at com.netflix.karyon.server.ServerBootstrap.createInjector(ServerBootstrap.java:184)
at com.netflix.karyon.server.ServerBootstrap.bootstrap(ServerBootstrap.java:125)
at com.netflix.karyon.server.KaryonServer.initialize(KaryonServer.java:182)
at com.netflix.karyon.server.guice.KaryonGuiceContextListener.getInjector(KaryonGuiceContextListener.java:67)
at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:45)
at com.netflix.karyon.server.guice.KaryonGuiceContextListener.contextInitialized(KaryonGuiceContextListener.java:72)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.MalformedURLException
at java.net.URL.<init>(URL.java:627)
at java.net.URL.<init>(URL.java:490)
at java.net.URL.<init>(URL.java:439)
at com.netflix.config.sources.URLConfigurationSource.createUrls(URLConfigurationSource.java:83)
... 34 more
Caused by: java.lang.NullPointerException
at java.net.URL.<init>(URL.java:532)
... 37 more

Sep 29, 2016 12:44:52 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class com.netflix.karyon.server.guice.KaryonGuiceContextListener
com.google.inject.CreationException: Guice creation errors:

1) An exception was caught and reported. Message: java.net.MalformedURLException
at com.netflix.governator.guice.BootstrapBinder.install(BootstrapBinder.java:142)

1 error
at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:435)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:154)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106)
at com.google.inject.Guice.createInjector(Guice.java:95)
at com.google.inject.Guice.createInjector(Guice.java:83)
at com.netflix.governator.guice.LifecycleInjector.<init>(LifecycleInjector.java:198)
at com.netflix.governator.guice.LifecycleInjectorBuilderImpl.build(LifecycleInjectorBuilderImpl.java:123)
at com.netflix.karyon.server.ServerBootstrap.createInjector(ServerBootstrap.java:184)
at com.netflix.karyon.server.ServerBootstrap.bootstrap(ServerBootstrap.java:125)
at com.netflix.karyon.server.KaryonServer.initialize(KaryonServer.java:182)
at com.netflix.karyon.server.guice.KaryonGuiceContextListener.getInjector(KaryonGuiceContextListener.java:67)
at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:45)
at com.netflix.karyon.server.guice.KaryonGuiceContextListener.contextInitialized(KaryonGuiceContextListener.java:72)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: java.net.MalformedURLException
at com.netflix.config.sources.URLConfigurationSource.createUrls(URLConfigurationSource.java:86)
at com.netflix.config.sources.URLConfigurationSource.<init>(URLConfigurationSource.java:73)
at com.charter.aesd.archaius.ExtendedDynamicURLConfiguration.init(ExtendedDynamicURLConfiguration.java:97)
at com.charter.aesd.archaius.ConfigurationManager.install(ConfigurationManager.java:46)
at com.charter.aesd.archaius.ArchaiusModule.configure(ArchaiusModule.java:60)
at com.google.inject.AbstractModule.configure(AbstractModule.java:59)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
at com.netflix.governator.guice.BootstrapBinder.install(BootstrapBinder.java:142)
at com.charter.aesd.che.callerid.config.Bootstrap.configureBootstrapBinder(Bootstrap.java:22)
at com.netflix.karyon.server.ServerBootstrap$KaryonBootstrapModule.configure(ServerBootstrap.java:272)
at com.netflix.governator.guice.InternalBootstrapModule.configure(InternalBootstrapModule.java:70)
at com.google.inject.AbstractModule.configure(AbstractModule.java:59)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
at com.google.inject.spi.Elements.getElements(Elements.java:101)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103)
... 19 more
Caused by: java.net.MalformedURLException
at java.net.URL.<init>(URL.java:627)
at java.net.URL.<init>(URL.java:490)
at java.net.URL.<init>(URL.java:439)
at com.netflix.config.sources.URLConfigurationSource.createUrls(URLConfigurationSource.java:83)
... 34 more
Caused by: java.lang.NullPointerException
at java.net.URL.<init>(URL.java:532)
... 37 more

 Sep 29, 2016 12:44:52 PM org.apache.catalina.core.StandardContext startInternal
 SEVERE: Error listenerStart
 Sep 29, 2016 12:44:52 PM org.apache.catalina.core.StandardContext startInternal
 SEVERE: Context [/calleridmiddle] startup failed due to previous errors
 class com.charter.logback.LogbackConfigLoader - Error during reload: sleep interrupted
 java.lang.InterruptedException: sleep interrupted
at java.lang.Thread.sleep(Native Method)
at com.charter.logback.LogbackConfigLoader$LogBackFileWatcher.run(LogbackConfigLoader.java:343)
at java.lang.Thread.run(Thread.java:745)

1 个答案:

答案 0 :(得分:0)

要在本地运行,我创建了LocalBootstrap类,其中包含一些本地配置。然后它工作了。