title: WFLYCTL0080 Spring MVC java.lang.RuntimeException: java.nio.file.InvalidPathException
body: <p>I am new to Spring. 
  I want to make Spring MVC hello world example using Spring boot starter project. I am using WildFly 12 to run the project. When I tried to run WildFly I faced this error </p>
  
  <pre><code>14:05:30,756 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 30) WFLYCLINF0002: Started client-mappings cache from ejb container
  14:05:30,959 INFO  [io.undertow.servlet] (ServerService Thread Pool -- 19) 2 Spring WebApplicationInitializers detected on classpath
  14:05:31,080 INFO  [javax.enterprise.resource.webcontainer.jsf.config] (ServerService Thread Pool -- 19) Initializing Mojarra 2.2.13.SP5  for context '/MyEventTracker'
  14:05:32,419 INFO  [io.undertow.servlet] (ServerService Thread Pool -- 19) Initializing Spring root WebApplicationContext
  14:05:32,419 INFO  [org.springframework.web.context.ContextLoader] (ServerService Thread Pool -- 19) Root WebApplicationContext: initialization started
  14:05:32,422 INFO  [org.springframework.web.context.support.AnnotationConfigWebApplicationContext] (ServerService Thread Pool -- 19) Refreshing Root WebApplicationContext: startup date [Sat Apr 14 14:05:32 GMT+02:00 2018]; root of context hierarchy
  14:05:32,480 ERROR [org.springframework.web.context.ContextLoader] (ServerService Thread Pool -- 19) Context initialization failed: java.nio.file.InvalidPathException: Illegal char &lt;&lt;&gt; at index 0: &lt;NONE&gt;.class
      at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
      at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
      at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
      at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
      at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
      at sun.nio.fs.AbstractPath.resolve(AbstractPath.java:53)
      at org.jboss.modules.PathResourceLoader.getClassSpec(PathResourceLoader.java:115)
      at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:266)
      at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:78)
      at org.jboss.modules.Module.loadModuleClass(Module.java:717)
      at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:191)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:412)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:400)
      at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
      at org.springframework.util.ClassUtils.forName(ClassUtils.java:274)
      at org.springframework.web.context.support.AnnotationConfigWebApplicationContext.loadBeanDefinitions(AnnotationConfigWebApplicationContext.java:231)
      at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:133)
      at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:621)
      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:522)
      at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:409)
      at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:291)
      at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103)
      at io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:187)
      at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:215)
      at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:184)
      at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
      at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
      at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
      at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1526)
      at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1526)
      at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1526)
      at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1526)
      at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:249)
      at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:96)
      at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:78)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
      at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
      at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
      at java.lang.Thread.run(Thread.java:745)
      at org.jboss.threads.JBossThread.run(JBossThread.java:485)
  
  14:05:32,484 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 19) MSC000001: Failed to start service jboss.undertow.deployment.default-server.default-host./MyEventTracker: org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host./MyEventTracker: java.lang.RuntimeException: java.nio.file.InvalidPathException: Illegal char &lt;&lt;&gt; at index 0: &lt;NONE&gt;.class
      at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:81)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
      at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
      at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
      at java.lang.Thread.run(Thread.java:745)
      at org.jboss.threads.JBossThread.run(JBossThread.java:485)
  Caused by: java.lang.RuntimeException: java.nio.file.InvalidPathException: Illegal char &lt;&lt;&gt; at index 0: &lt;NONE&gt;.class
      at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:251)
      at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:96)
      at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:78)
      ... 8 more
  Caused by: java.nio.file.InvalidPathException: Illegal char &lt;&lt;&gt; at index 0: &lt;NONE&gt;.class
      at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:182)
      at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
      at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
      at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
      at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
      at sun.nio.fs.AbstractPath.resolve(AbstractPath.java:53)
      at org.jboss.modules.PathResourceLoader.getClassSpec(PathResourceLoader.java:115)
      at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:266)
      at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:78)
      at org.jboss.modules.Module.loadModuleClass(Module.java:717)
      at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:191)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:412)
      at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:400)
      at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
      at org.springframework.util.ClassUtils.forName(ClassUtils.java:274)
      at org.springframework.web.context.support.AnnotationConfigWebApplicationContext.loadBeanDefinitions(AnnotationConfigWebApplicationContext.java:231)
      at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:133)
      at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:621)
      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:522)
      at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:409)
      at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:291)
      at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103)
      at io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:187)
      at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:215)
      at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:184)
      at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
      at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
      at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
      at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1526)
      at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1526)
      at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1526)
      at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1526)
      at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:249)
      ... 10 more
  
  14:05:32,496 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 1) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" =&gt; "MyEventTracker.war")]) - failure description: {"WFLYCTL0080: Failed services" =&gt; {"jboss.undertow.deployment.default-server.default-host./MyEventTracker" =&gt; "java.lang.RuntimeException: java.nio.file.InvalidPathException: Illegal char &lt;&lt;&gt; at index 0: &lt;NONE&gt;.class
      Caused by: java.lang.RuntimeException: java.nio.file.InvalidPathException: Illegal char &lt;&lt;&gt; at index 0: &lt;NONE&gt;.class
      Caused by: java.nio.file.InvalidPathException: Illegal char &lt;&lt;&gt; at index 0: &lt;NONE&gt;.class"}}
  14:05:32,498 ERROR [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0021: Deploy of deployment "MyEventTracker.war" was rolled back with the following failure message: 
  {"WFLYCTL0080: Failed services" =&gt; {"jboss.undertow.deployment.default-server.default-host./MyEventTracker" =&gt; "java.lang.RuntimeException: java.nio.file.InvalidPathException: Illegal char &lt;&lt;&gt; at index 0: &lt;NONE&gt;.class
      Caused by: java.lang.RuntimeException: java.nio.file.InvalidPathException: Illegal char &lt;&lt;&gt; at index 0: &lt;NONE&gt;.class
      Caused by: java.nio.file.InvalidPathException: Illegal char &lt;&lt;&gt; at index 0: &lt;NONE&gt;.class"}}
  14:05:32,804 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0028: Stopped deployment MyEventTracker.war (runtime-name: MyEventTracker.war) in 306ms
  [2018-04-14 02:05:32,881] Artifact MyEventTracker:war: Error during artifact deployment. See server log for details.
  [2018-04-14 02:05:32,881] Artifact MyEventTracker:war: java.lang.Exception: {"WFLYCTL0080: Failed services" =&gt; {"jboss.undertow.deployment.default-server.default-host./MyEventTracker" =&gt; "java.lang.RuntimeException: java.nio.file.InvalidPathException: Illegal char &lt;&lt;&gt; at index 0: &lt;NONE&gt;.class
      Caused by: java.lang.RuntimeException: java.nio.file.InvalidPathException: Illegal char &lt;&lt;&gt; at index 0: &lt;NONE&gt;.class
      Caused by: java.nio.file.InvalidPathException: Illegal char &lt;&lt;&gt; at index 0: &lt;NONE&gt;.class"}}
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/VxlmP.png" rel="nofollow noreferrer">Here is the project structure</a></p>
  
  <p>And the code: 
  HelloController.java</p>
  
  <pre><code>package org.learning.spring.controller;
  
  import org.springframework.stereotype.Controller;
  import org.springframework.ui.Model;
  import org.springframework.web.bind.annotation.RequestMapping;
  
  @Controller
  public class HelloController {
  
      @RequestMapping("/greeting")
      public String sayHello(Model model) {
          model.addAttribute("greeting", "Hello World!");
  
          return "hello.jsp";
      }
  }
  </code></pre>
  
  <p>AppInitilializer.java</p>
  
  <pre><code>package org.learning.spring;
  
  import org.springframework.web.WebApplicationInitializer;
  import org.springframework.web.context.ContextLoaderListener;
  import org.springframework.web.context.WebApplicationContext;
  import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
  import org.springframework.web.servlet.DispatcherServlet;
  
  import javax.servlet.ServletContext;
  import javax.servlet.ServletException;
  import javax.servlet.ServletRegistration;
  
  public class AppInitilializer implements WebApplicationInitializer {
  
      @Override
      public void onStartup(ServletContext servletContext) throws ServletException {
          WebApplicationContext context = getContext();
          servletContext.addListener(new ContextLoaderListener(context));
          ServletRegistration.Dynamic dispatcher = servletContext.addServlet("DispatcherServlet", new DispatcherServlet(context));
          dispatcher.setLoadOnStartup(1);
          dispatcher.addMapping("*.html");
      }
  
      private AnnotationConfigWebApplicationContext getContext() {
          AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
          context.setConfigLocation("org.learning.spring.WebConfig");
          return context;
      }
  }
  </code></pre>
  
  <p>WebConfig.java</p>
  
  <pre><code>package org.learning.spring;
  
  import org.springframework.context.annotation.Configuration;
  import org.springframework.web.servlet.config.annotation.EnableWebMvc;
  
  @EnableWebMvc
  @Configuration
  public class WebConfig {
  }
  </code></pre>
  
  <p>and my pom.xml file</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  
  &lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&gt;
      &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
  
      &lt;groupId&gt;org.learning.spring&lt;/groupId&gt;
      &lt;artifactId&gt;MyEventTracker&lt;/artifactId&gt;
      &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
      &lt;packaging&gt;war&lt;/packaging&gt;
  
      &lt;name&gt;MyEventTracker&lt;/name&gt;
  
      &lt;parent&gt;
          &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
          &lt;artifactId&gt;spring-boot-starter-parent&lt;/artifactId&gt;
          &lt;version&gt;2.0.1.RELEASE&lt;/version&gt;
      &lt;/parent&gt;
  
      &lt;dependencies&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
              &lt;artifactId&gt;spring-boot-starter-web&lt;/artifactId&gt;
              &lt;exclusions&gt;
                  &lt;exclusion&gt;
                      &lt;artifactId&gt;spring-boot-starter-tomcat&lt;/artifactId&gt;
                      &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
                  &lt;/exclusion&gt;
              &lt;/exclusions&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;javax.servlet&lt;/groupId&gt;
              &lt;artifactId&gt;javax.servlet-api&lt;/artifactId&gt;
              &lt;version&gt;4.0.0&lt;/version&gt;
              &lt;scope&gt;provided&lt;/scope&gt;
          &lt;/dependency&gt;
      &lt;/dependencies&gt;
  
      &lt;properties&gt;
          &lt;java.version&gt;1.8&lt;/java.version&gt;
      &lt;/properties&gt;
  
      &lt;build&gt;
          &lt;finalName&gt;MyEventTracker&lt;/finalName&gt;
  
          &lt;plugins&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
                  &lt;artifactId&gt;spring-boot-maven-plugin&lt;/artifactId&gt;
              &lt;/plugin&gt;
          &lt;/plugins&gt;
      &lt;/build&gt;
  &lt;/project&gt;
  </code></pre>
  
  <p>Thanks in advance</p>