I am trying to use an Apache Maven Tomcat plugin for Tomcat 7, so I added the following dependency to the POM file:
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-classworlds</artifactId>
<version>2.4</version>
</dependency>
Plugin configuration:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0-SNAPSHOT</version>
<configuration>
<path>/${project.build.finalName}</path>
</configuration>
</plugin>
Repositories:
<repositories>
<repository>
<id>people.apache.snapshots</id>
<url>http://people.apache.org/repo/m2-snapshot-repository</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>apache.snapshots</id>
<name>Apache Snapshots</name>
<url>http://people.apache.org/repo/m2-snapshot-repository</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
Maven OPTS:
-Xmx512m -Xms256m -XX:MaxPermSize=512m
but when running the application with mvn tomcat7:run i am getting following exception:
org.codehaus.classworlds.NoSuchRealmException: plexus.core
at org.codehaus.classworlds.ClassWorld.getRealm(ClassWorld.java:128)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:434)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Why? Do I have something wrong in configuration, or I am missing something?
I experienced the same issues myself when using this. It seems that when the plexus code runs, it does not handle OutOfMemory Exceptions well.
If you increase the allocated amount of memory to the JVM during the build, you will find that the error goes away. The problem is the PermSize for the stack. Refer to this link: Get started with java JVM memory for details on how to configure your JVM Memory.
Try using settings as such: