I am trying to run a Spring webapp using maven with the
mvn tomcat:run
command, but whenever I navigate to http://localhost:8080/myApp
, I get the error: "The requested resource () is not available". Nothing shows up in the logs. I think my app is supposed to be deployed to "/" instead of "/myApp". Is there a way to do this?
Maven output log:
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'tomcat'.
[INFO] ------------------------------------------------------------------------
[INFO] Building myApp
[INFO] task-segment: [tomcat:run]
[INFO] ------------------------------------------------------------------------
[INFO] Preparing tomcat:run
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 4 resources
Downloading: http://svn.asdf.com:8081/artifactory/repo/org/postgresql/postgresql/8.3/postgresql-8.3.pom
[INFO] Unable to find resource 'org.postgresql:postgresql:pom:8.3' in repository central (http://repo1.maven.org/maven2)
Downloading: http://svn.asdf.com:8081/artifactory/repo/java-memcached/java-memcached/1.6/java-memcached-1.6.pom
[INFO] Unable to find resource 'java-memcached:java-memcached:pom:1.6' in repository central (http://repo1.maven.org/maven2)
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Nothing to compile - all classes are up to date
[INFO] [tomcat:run {execution: default-cli}]
[INFO] Running war on http://localhost:8080/myApp
[INFO] Using existing Tomcat server configuration at C:\cygwin\home\workspace\myApp\target\tomcat
Sep 4, 2009 3:17:29 PM org.apache.catalina.startup.Embedded start
INFO: Starting tomcat server
Sep 4, 2009 3:17:29 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.16
Sep 4, 2009 3:17:30 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
Sep 4, 2009 3:17:31 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'myApp'
Sep 4, 2009 3:17:31 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Sep 4, 2009 3:17:31 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Web.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml
</param-value>
</context-param>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>myApp</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myApp</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
The documentation for the maven tomcat plugin here states
The default context path is /${project.build.finalName}
, which itself defaults to /${artifactId}-${version}
.
The preferred way of changing the context path is to change the finalName by adding the following to your pom.xml:
<build>
<finalName>mycontext</finalName>
</build>
Alternatively, a different context path can be specified by adding an explicit plugin configuration block to your pom.xml as follows:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<path>/mycontext</path>
</configuration>
</plugin>
If you've defined either of those two elements in your pom, then it should be loading at localhost:8080/wherever. Otherwise it'll be at localhost:8080/${artifactId}-${version}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With