title: Failed to execute goal org.codehaus.mojo:aspectj-maven-plugin:1.3.1:compile (default) on project greenhouse: Compiler errors:
body: <p>I have done all the researches I can online to solve this problem but I still cannot figure it out. Could anyone help me solve this? I don't even know what is happening as I am new to programming. Let me know if you need any code else I will edit the question to attach them. Thank you!</p>
  
  <pre><code>[ERROR] Failed to execute goal org.codehaus.mojo:aspectj-maven-plugin:1.3.1:compile (default) on project greenhouse: Compiler errors:
  [ERROR] error at (no source information available)
  [ERROR] D:\BaiduYunDownload\Workspace\MvcExample\greenhouse\src\main\java\org\springframework\templating\StringTemplateLoader.java:0::0 Internal compiler error
  [ERROR] org.aspectj.apache.bcel.classfile.ClassFormatException: File: 'java/lang/CharSequence.class': Invalid byte tag in constant pool: 15
  [ERROR] at org.aspectj.apache.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:192)
  [ERROR] at org.aspectj.apache.bcel.classfile.ClassParser.parse(ClassParser.java:131)
  [ERROR] at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:424)
  [ERROR] at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:376)
  [ERROR] at org.aspectj.weaver.World.resolveToReferenceType(World.java:467)
  [ERROR] at org.aspectj.weaver.World.resolve(World.java:308)
  [ERROR] at org.aspectj.weaver.World.resolve(World.java:218)
  [ERROR] at org.aspectj.weaver.bcel.BcelGenericSignatureToTypeXConverter.classTypeSignature2TypeX(BcelGenericSignatureToTypeXConverter.java:97)
  [ERROR] at org.aspectj.weaver.bcel.BcelGenericSignatureToTypeXConverter.classTypeSignature2TypeX(BcelGenericSignatureToTypeXConverter.java:41)
  [ERROR] at org.aspectj.weaver.bcel.BcelObjectType.ensureGenericSignatureUnpacked(BcelObjectType.java:810)
  [ERROR] at org.aspectj.weaver.bcel.BcelObjectType.getDeclaredInterfaces(BcelObjectType.java:257)
  [ERROR] at org.aspectj.weaver.ReferenceType.getDeclaredInterfaces(ReferenceType.java:624)
  [ERROR] at org.aspectj.weaver.ResolvedType.getDirectSupertypes(ResolvedType.java:76)
  [ERROR] at org.aspectj.weaver.patterns.TypePattern.matchesSubtypes(TypePattern.java:178)
  [ERROR] at org.aspectj.weaver.patterns.ExactTypePattern.matchesSubtypes(ExactTypePattern.java:74)
  [ERROR] at org.aspectj.weaver.patterns.TypePattern.matchesStatically(TypePattern.java:130)
  [ERROR] at org.aspectj.weaver.patterns.AndTypePattern.matchesStatically(AndTypePattern.java:62)
  [ERROR] at org.aspectj.weaver.patterns.DeclareParents.match(DeclareParents.java:63)
  [ERROR] at org.aspectj.weaver.patterns.DeclareParents.findMatchingNewParents(DeclareParents.java:358)
  [ERROR] at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.doDeclareParents(AjLookupEnvironment.java:880)
  [ERROR] at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.weaveInterTypeDeclarations(AjLookupEnvironment.java:730)
  [ERROR] at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.weaveInterTypeDeclarations(AjLookupEnvironment.java:652)
  [ERROR] at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.doPendingWeaves(AjLookupEnvironment.java:427)
  [ERROR] at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.completeTypeBindings(AjLookupEnvironment.java:213)
  [ERROR] at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:616)
  [ERROR] at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:357)
  [ERROR] at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:371)
  [ERROR] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:1021)
  [ERROR] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performBuild(AjBuildManager.java:268)
  [ERROR] at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:181)
  [ERROR] at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112)
  [ERROR] at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60)
  [ERROR] at org.aspectj.tools.ajc.Main.run(Main.java:371)
  [ERROR] at org.aspectj.tools.ajc.Main.runMain(Main.java:248)
  [ERROR] at org.codehaus.mojo.aspectj.AbstractAjcCompiler.execute(AbstractAjcCompiler.java:370)
  [ERROR] at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
  [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
  [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
  [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
  [ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
  [ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
  [ERROR] at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
  [ERROR] at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
  [ERROR] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
  [ERROR] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
  [ERROR] at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
  [ERROR] at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
  [ERROR] at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
  [ERROR] at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
  [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  [ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  [ERROR] at java.lang.reflect.Method.invoke(Method.java:498)
  [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
  [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
  [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
  [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
  [ERROR] 
  [ERROR] abort ABORT -- (ClassFormatException) File: 'java/lang/CharSequence.class': Invalid byte tag in constant pool: 15
  [ERROR] File: 'java/lang/CharSequence.class': Invalid byte tag in constant pool: 15
  [ERROR] org.aspectj.apache.bcel.classfile.ClassFormatException: File: 'java/lang/CharSequence.class': Invalid byte tag in constant pool: 15
  [ERROR] at org.aspectj.apache.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:192)
  [ERROR] at org.aspectj.apache.bcel.classfile.ClassParser.parse(ClassParser.java:131)
  [ERROR] at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:424)
  [ERROR] at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:376)
  [ERROR] at org.aspectj.weaver.World.resolveToReferenceType(World.java:467)
  [ERROR] at org.aspectj.weaver.World.resolve(World.java:308)
  [ERROR] at org.aspectj.weaver.World.resolve(World.java:218)
  [ERROR] at org.aspectj.weaver.bcel.BcelGenericSignatureToTypeXConverter.classTypeSignature2TypeX(BcelGenericSignatureToTypeXConverter.java:97)
  [ERROR] at org.aspectj.weaver.bcel.BcelGenericSignatureToTypeXConverter.classTypeSignature2TypeX(BcelGenericSignatureToTypeXConverter.java:41)
  [ERROR] at org.aspectj.weaver.bcel.BcelObjectType.ensureGenericSignatureUnpacked(BcelObjectType.java:810)
  [ERROR] at org.aspectj.weaver.bcel.BcelObjectType.getDeclaredInterfaces(BcelObjectType.java:257)
  [ERROR] at org.aspectj.weaver.ReferenceType.getDeclaredInterfaces(ReferenceType.java:624)
  [ERROR] at org.aspectj.weaver.ResolvedType.getDirectSupertypes(ResolvedType.java:76)
  [ERROR] at org.aspectj.weaver.patterns.TypePattern.matchesSubtypes(TypePattern.java:178)
  [ERROR] at org.aspectj.weaver.patterns.ExactTypePattern.matchesSubtypes(ExactTypePattern.java:74)
  </code></pre>
  
  <p>My pom.xml:</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;groupId&gt;org.springframework.security&lt;/groupId&gt;
              &lt;artifactId&gt;spring-security-core&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.security-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.security&lt;/groupId&gt;
              &lt;artifactId&gt;spring-security-web&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.security-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.security&lt;/groupId&gt;
              &lt;artifactId&gt;spring-security-taglibs&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.security-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.security&lt;/groupId&gt;
              &lt;artifactId&gt;spring-security-config&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.security-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.security.oauth&lt;/groupId&gt;
              &lt;artifactId&gt;spring-security-oauth2&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.security.oauth-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.integration&lt;/groupId&gt;
              &lt;artifactId&gt;spring-integration-core&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.integration-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.integration&lt;/groupId&gt;
              &lt;artifactId&gt;spring-integration-http&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.integration-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.integration&lt;/groupId&gt;
              &lt;artifactId&gt;spring-integration-mail&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.integration-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.integration&lt;/groupId&gt;
              &lt;artifactId&gt;spring-integration-event&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.integration-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.mobile&lt;/groupId&gt;
              &lt;artifactId&gt;spring-mobile-device&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.mobile-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.social&lt;/groupId&gt;
              &lt;artifactId&gt;spring-social-core&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.social-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.social&lt;/groupId&gt;
              &lt;artifactId&gt;spring-social-web&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.social-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.social&lt;/groupId&gt;
              &lt;artifactId&gt;spring-social-facebook&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.social.facebook-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.social&lt;/groupId&gt;
              &lt;artifactId&gt;spring-social-facebook-web&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.social.facebook-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.social&lt;/groupId&gt;
              &lt;artifactId&gt;spring-social-twitter&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.social-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.social&lt;/groupId&gt;
              &lt;artifactId&gt;spring-social-linkedin&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.social.linkedin-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.social&lt;/groupId&gt;
              &lt;artifactId&gt;spring-social-tripit&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.social.tripit-version}&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;!-- AspectJ --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.aspectj&lt;/groupId&gt;
              &lt;artifactId&gt;aspectjrt&lt;/artifactId&gt;
              &lt;version&gt;${org.aspectj-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework&lt;/groupId&gt;
              &lt;artifactId&gt;spring-aspects&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;!-- Remove once spring-aspects marks JPA as optional --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;javax.persistence&lt;/groupId&gt;
              &lt;artifactId&gt;persistence-api&lt;/artifactId&gt;
              &lt;version&gt;1.0&lt;/version&gt;
              &lt;scope&gt;provided&lt;/scope&gt;
          &lt;/dependency&gt;
  
          &lt;!-- CGLIB, only required and used for @Configuration usage --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;cglib&lt;/groupId&gt;
              &lt;artifactId&gt;cglib-nodep&lt;/artifactId&gt;
              &lt;version&gt;2.2&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;!-- @Inject --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;javax.inject&lt;/groupId&gt;
              &lt;artifactId&gt;javax.inject&lt;/artifactId&gt;
              &lt;version&gt;1&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;!-- Logging --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.slf4j&lt;/groupId&gt;
              &lt;artifactId&gt;slf4j-api&lt;/artifactId&gt;
              &lt;version&gt;${org.slf4j-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.slf4j&lt;/groupId&gt;
              &lt;artifactId&gt;jcl-over-slf4j&lt;/artifactId&gt;
              &lt;version&gt;${org.slf4j-version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.slf4j&lt;/groupId&gt;
              &lt;artifactId&gt;slf4j-log4j12&lt;/artifactId&gt;
              &lt;version&gt;${org.slf4j-version}&lt;/version&gt;
              &lt;scope&gt;runtime&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;log4j&lt;/groupId&gt;
              &lt;artifactId&gt;log4j&lt;/artifactId&gt;
              &lt;version&gt;1.2.16&lt;/version&gt;
              &lt;scope&gt;runtime&lt;/scope&gt;
          &lt;/dependency&gt;
  
          &lt;!-- Database --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;com.h2database&lt;/groupId&gt;
              &lt;artifactId&gt;h2&lt;/artifactId&gt;
              &lt;version&gt;1.3.160&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;!-- For MapMaker --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;com.google.guava&lt;/groupId&gt;
              &lt;artifactId&gt;guava&lt;/artifactId&gt;
              &lt;version&gt;10.0.1&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;!-- Apache Http Client --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.apache.httpcomponents&lt;/groupId&gt;
              &lt;artifactId&gt;httpclient&lt;/artifactId&gt;
              &lt;version&gt;4.1.2&lt;/version&gt;
              &lt;exclusions&gt;
                  &lt;exclusion&gt;
                      &lt;groupId&gt;commons-logging&lt;/groupId&gt;
                      &lt;artifactId&gt;commons-logging&lt;/artifactId&gt;
                  &lt;/exclusion&gt;
              &lt;/exclusions&gt;
          &lt;/dependency&gt;
  
          &lt;!-- JavaMail --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;javax.mail&lt;/groupId&gt;
              &lt;artifactId&gt;mail&lt;/artifactId&gt;
              &lt;version&gt;1.4.1&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;!-- String Template --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.antlr&lt;/groupId&gt;
              &lt;artifactId&gt;stringtemplate&lt;/artifactId&gt;
              &lt;version&gt;3.2.1&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;!-- Servlet --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;javax.servlet&lt;/groupId&gt;
              &lt;artifactId&gt;servlet-api&lt;/artifactId&gt;
              &lt;version&gt;2.5&lt;/version&gt;
              &lt;scope&gt;provided&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;javax.servlet.jsp&lt;/groupId&gt;
              &lt;artifactId&gt;jsp-api&lt;/artifactId&gt;
              &lt;version&gt;2.1&lt;/version&gt;
              &lt;scope&gt;provided&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;javax.servlet.jsp.jstl&lt;/groupId&gt;
              &lt;artifactId&gt;jstl-api&lt;/artifactId&gt;
              &lt;version&gt;1.2&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.glassfish.web&lt;/groupId&gt;
              &lt;artifactId&gt;jstl-impl&lt;/artifactId&gt;
              &lt;version&gt;1.2&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;!-- Apache Tiles --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.apache.tiles&lt;/groupId&gt;
              &lt;artifactId&gt;tiles-jsp&lt;/artifactId&gt;
              &lt;version&gt;2.2.2&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.apache.tiles&lt;/groupId&gt;
              &lt;artifactId&gt;tiles-el&lt;/artifactId&gt;
              &lt;version&gt;2.2.2&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;!-- JSR 303 with Hibernate Validator --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;javax.validation&lt;/groupId&gt;
              &lt;artifactId&gt;validation-api&lt;/artifactId&gt;
              &lt;version&gt;1.0.0.GA&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.hibernate&lt;/groupId&gt;
              &lt;artifactId&gt;hibernate-validator&lt;/artifactId&gt;
              &lt;version&gt;4.2.0.Final&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;!-- Joda Time --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;joda-time&lt;/groupId&gt;
              &lt;artifactId&gt;joda-time&lt;/artifactId&gt;
              &lt;version&gt;2.0&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;joda-time&lt;/groupId&gt;
              &lt;artifactId&gt;joda-time-jsptags&lt;/artifactId&gt;
              &lt;version&gt;1.1&lt;/version&gt;
              &lt;scope&gt;runtime&lt;/scope&gt;
          &lt;/dependency&gt;
  
          &lt;!-- Jackson JSON Mapper --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.codehaus.jackson&lt;/groupId&gt;
              &lt;artifactId&gt;jackson-mapper-asl&lt;/artifactId&gt;
              &lt;version&gt;1.9.9&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;!-- File Upload --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;commons-fileupload&lt;/groupId&gt;
              &lt;artifactId&gt;commons-fileupload&lt;/artifactId&gt;
              &lt;version&gt;1.2.2&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;commons-io&lt;/groupId&gt;
              &lt;artifactId&gt;commons-io&lt;/artifactId&gt;
              &lt;version&gt;1.4&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;!-- S3 --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;net.java.dev.jets3t&lt;/groupId&gt;
              &lt;artifactId&gt;jets3t&lt;/artifactId&gt;
              &lt;!-- The next release of jets3t should have support for HttpComponents 
                  4.1 and HttpClient 3.1 will be removed from the classpath --&gt;
              &lt;version&gt;0.8.1&lt;/version&gt;
              &lt;exclusions&gt;
                  &lt;!-- Exclude Commons Logging in favor of SLF4j --&gt;
                  &lt;exclusion&gt;
                      &lt;groupId&gt;commons-logging&lt;/groupId&gt;
                      &lt;artifactId&gt;commons-logging&lt;/artifactId&gt;
                  &lt;/exclusion&gt;
              &lt;/exclusions&gt;
          &lt;/dependency&gt;
  
          &lt;!-- Redis / Spring Key-Value --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework.data&lt;/groupId&gt;
              &lt;artifactId&gt;spring-data-redis&lt;/artifactId&gt;
              &lt;version&gt;1.0.0.RC1&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;redis.clients&lt;/groupId&gt;
              &lt;artifactId&gt;jedis&lt;/artifactId&gt;
              &lt;version&gt;2.0.0&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;!-- Test --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;junit&lt;/groupId&gt;
              &lt;artifactId&gt;junit-dep&lt;/artifactId&gt;
              &lt;version&gt;4.10&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
              &lt;exclusions&gt;
                  &lt;exclusion&gt;
                    &lt;groupId&gt;org.hamcrest&lt;/groupId&gt;
                    &lt;artifactId&gt;hamcrest-core&lt;/artifactId&gt;
                  &lt;/exclusion&gt;
              &lt;/exclusions&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.hamcrest&lt;/groupId&gt;
              &lt;artifactId&gt;hamcrest-library&lt;/artifactId&gt;
              &lt;version&gt;1.3&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework&lt;/groupId&gt;
              &lt;artifactId&gt;spring-test&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework-version}&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework&lt;/groupId&gt;
              &lt;artifactId&gt;spring-test-mvc&lt;/artifactId&gt;
              &lt;version&gt;${org.springframework.test-mvc-version}&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.mockito&lt;/groupId&gt;
              &lt;artifactId&gt;mockito-core&lt;/artifactId&gt;
              &lt;version&gt;1.9.0&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;net.sf.opencsv&lt;/groupId&gt;
              &lt;artifactId&gt;opencsv&lt;/artifactId&gt;
              &lt;version&gt;2.3&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;com.jayway.jsonpath&lt;/groupId&gt;
              &lt;artifactId&gt;json-path&lt;/artifactId&gt;
              &lt;version&gt;0.5.5&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
      &lt;/dependencies&gt;
      &lt;repositories&gt;
          &lt;!-- For testing against latest Spring snapshots --&gt;
          &lt;repository&gt;
              &lt;id&gt;spring-snapshot&lt;/id&gt;
              &lt;name&gt;SpringSource Snapshot Repository&lt;/name&gt;
              &lt;url&gt;http://repo.springsource.org/snapshot&lt;/url&gt;
              &lt;releases&gt;
                  &lt;enabled&gt;false&lt;/enabled&gt;
              &lt;/releases&gt;
              &lt;snapshots&gt;
                  &lt;enabled&gt;true&lt;/enabled&gt;
              &lt;/snapshots&gt;
          &lt;/repository&gt;
          &lt;!-- For Spring releases --&gt;
          &lt;repository&gt;
              &lt;id&gt;spring-repository&lt;/id&gt;
              &lt;name&gt;SpringSource Repository&lt;/name&gt;
              &lt;url&gt;http://repo.springsource.org/release&lt;/url&gt;
              &lt;snapshots&gt;
                  &lt;enabled&gt;false&lt;/enabled&gt;
              &lt;/snapshots&gt;
          &lt;/repository&gt;
          &lt;!-- For developing against latest Spring milestones --&gt;
          &lt;repository&gt;
              &lt;id&gt;spring-milestone&lt;/id&gt;
              &lt;name&gt;SpringSource Milestone Repository&lt;/name&gt;
              &lt;url&gt;http://repo.springsource.org/milestone&lt;/url&gt;
              &lt;snapshots&gt;
                  &lt;enabled&gt;false&lt;/enabled&gt;
              &lt;/snapshots&gt;
          &lt;/repository&gt;
      &lt;/repositories&gt;
      &lt;build&gt;
          &lt;resources&gt;
              &lt;resource&gt;
                  &lt;directory&gt;src/main/java&lt;/directory&gt;
              &lt;/resource&gt;
          &lt;/resources&gt;
          &lt;testResources&gt;
              &lt;testResource&gt;
                  &lt;directory&gt;src/test/java&lt;/directory&gt;
              &lt;/testResource&gt;
          &lt;/testResources&gt;
          &lt;plugins&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                  &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
                  &lt;version&gt;2.3.2&lt;/version&gt;
                  &lt;configuration&gt;
                      &lt;source&gt;${java-version}&lt;/source&gt;
                      &lt;target&gt;${java-version}&lt;/target&gt;
                  &lt;/configuration&gt;
              &lt;/plugin&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.codehaus.mojo&lt;/groupId&gt;
                  &lt;artifactId&gt;aspectj-maven-plugin&lt;/artifactId&gt;
                  &lt;version&gt;1.3.1&lt;/version&gt;
                  &lt;dependencies&gt;
                      &lt;!-- Note: Maven 2.0.9 or &gt; required or these are ignored (MNG-2972) --&gt;
                      &lt;dependency&gt;
                          &lt;groupId&gt;org.aspectj&lt;/groupId&gt;
                          &lt;artifactId&gt;aspectjrt&lt;/artifactId&gt;
                          &lt;version&gt;${org.aspectj-version}&lt;/version&gt;
                      &lt;/dependency&gt;
                      &lt;dependency&gt;
                          &lt;groupId&gt;org.aspectj&lt;/groupId&gt;
                          &lt;artifactId&gt;aspectjtools&lt;/artifactId&gt;
                          &lt;version&gt;${org.aspectj-version}&lt;/version&gt;
                      &lt;/dependency&gt;
                  &lt;/dependencies&gt;
                  &lt;executions&gt;
                      &lt;execution&gt;
                          &lt;goals&gt;
                              &lt;goal&gt;compile&lt;/goal&gt;
                              &lt;goal&gt;test-compile&lt;/goal&gt;
                          &lt;/goals&gt;
                      &lt;/execution&gt;
                  &lt;/executions&gt;
                  &lt;configuration&gt;
                      &lt;outxml&gt;true&lt;/outxml&gt;
                      &lt;aspectLibraries&gt;
                          &lt;aspectLibrary&gt;
                              &lt;groupId&gt;org.springframework&lt;/groupId&gt;
                              &lt;artifactId&gt;spring-aspects&lt;/artifactId&gt;
                          &lt;/aspectLibrary&gt;
                      &lt;/aspectLibraries&gt;
                      &lt;source&gt;1.6&lt;/source&gt;
                      &lt;target&gt;1.6&lt;/target&gt;
                  &lt;/configuration&gt;
              &lt;/plugin&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.codehaus.mojo&lt;/groupId&gt;
                  &lt;artifactId&gt;properties-maven-plugin&lt;/artifactId&gt;
                  &lt;version&gt;1.0-alpha-2&lt;/version&gt;
                  &lt;executions&gt;
                      &lt;execution&gt;
                          &lt;phase&gt;generate-resources&lt;/phase&gt;
                          &lt;goals&gt;
                              &lt;goal&gt;write-active-profile-properties&lt;/goal&gt;
                          &lt;/goals&gt;
                          &lt;configuration&gt;
                              &lt;!-- Writes properties defined in current active profile(s) to application.properties, 
                                  which is picked up by PropertyPlaceholderConfigurer in the classpath --&gt;
                              &lt;outputFile&gt;${project.build.outputDirectory}/application.properties&lt;/outputFile&gt;
                          &lt;/configuration&gt;
                      &lt;/execution&gt;
                  &lt;/executions&gt;
              &lt;/plugin&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                  &lt;artifactId&gt;maven-dependency-plugin&lt;/artifactId&gt;
                  &lt;executions&gt;
                      &lt;execution&gt;
                          &lt;id&gt;install&lt;/id&gt;
                          &lt;phase&gt;install&lt;/phase&gt;
                          &lt;goals&gt;
                              &lt;goal&gt;sources&lt;/goal&gt;
                          &lt;/goals&gt;
                      &lt;/execution&gt;
                  &lt;/executions&gt;
              &lt;/plugin&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                  &lt;artifactId&gt;maven-war-plugin&lt;/artifactId&gt;
                  &lt;version&gt;2.1.1&lt;/version&gt;
              &lt;/plugin&gt;
              &lt;!-- Tomcat 7 Plugin --&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;com.googlecode.t7mp&lt;/groupId&gt;
                  &lt;artifactId&gt;maven-t7-plugin&lt;/artifactId&gt;
                  &lt;version&gt;0.9.9.M1&lt;/version&gt;
                  &lt;configuration&gt;
                      &lt;contextPath&gt;greenhouse&lt;/contextPath&gt;
                  &lt;/configuration&gt;
              &lt;/plugin&gt;
              &lt;plugin&gt;
                  &lt;artifactId&gt;maven-antrun-plugin&lt;/artifactId&gt;
                  &lt;version&gt;1.4&lt;/version&gt;
                  &lt;executions&gt;
                      &lt;execution&gt;
                          &lt;id&gt;publish&lt;/id&gt;
                          &lt;phase&gt;deploy&lt;/phase&gt;
                          &lt;goals&gt;
                              &lt;goal&gt;run&lt;/goal&gt;
                          &lt;/goals&gt;
                          &lt;configuration&gt;
                              &lt;tasks&gt;
                                  &lt;scp
                                      file="${project.build.directory}/${project.build.finalName}.${project.packaging}"
                                      todir="${publish.username}@${publish.host}:/tmp/greenhouse.war"
                                      keyfile="${publish.keyfile}" trust="true" /&gt;
                                  &lt;sshexec host="${publish.host}" username="${publish.username}"
                                      command="${publish.serverPath}/bin/tcruntime-ctl.sh stop"
                                      keyfile="${publish.keyfile}" trust="true" failonerror="false" /&gt;
                                  &lt;sshexec host="${publish.host}" username="${publish.username}"
                                      command="rm -rf ${publish.serverPath}/webapps/*" keyfile="${publish.keyfile}"
                                      trust="true" /&gt;
                                  &lt;sshexec host="${publish.host}" username="${publish.username}"
                                      command="mv /tmp/greenhouse.war ${publish.serverPath}/webapps/ROOT.war"
                                      keyfile="${publish.keyfile}" trust="true" /&gt;
                                  &lt;sshexec host="${publish.host}" username="${publish.username}"
                                      command="${publish.serverPath}/bin/tcruntime-ctl.sh start"
                                      keyfile="${publish.keyfile}" trust="true" /&gt;
                              &lt;/tasks&gt;
                          &lt;/configuration&gt;
                      &lt;/execution&gt;
                  &lt;/executions&gt;
                  &lt;dependencies&gt;
                      &lt;dependency&gt;
                          &lt;groupId&gt;org.apache.ant&lt;/groupId&gt;
                          &lt;artifactId&gt;ant-jsch&lt;/artifactId&gt;
                          &lt;version&gt;1.8.1&lt;/version&gt;
                      &lt;/dependency&gt;
                  &lt;/dependencies&gt;
              &lt;/plugin&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                  &lt;artifactId&gt;maven-eclipse-plugin&lt;/artifactId&gt;
                  &lt;version&gt;2.7&lt;/version&gt;
                  &lt;configuration&gt;
                      &lt;useProjectReferences&gt;false&lt;/useProjectReferences&gt;
                      &lt;downloadSources&gt;true&lt;/downloadSources&gt;
                      &lt;downloadJavadocs&gt;false&lt;/downloadJavadocs&gt;
                      &lt;wtpversion&gt;2.0&lt;/wtpversion&gt;
                  &lt;/configuration&gt;
              &lt;/plugin&gt;
          &lt;/plugins&gt;
          &lt;pluginManagement&gt;
              &lt;plugins&gt;
                  &lt;!--This plugin's configuration is used to store Eclipse m2e settings 
                      only. It has no influence on the Maven build itself. --&gt;
                  &lt;plugin&gt;
                      &lt;groupId&gt;org.eclipse.m2e&lt;/groupId&gt;
                      &lt;artifactId&gt;lifecycle-mapping&lt;/artifactId&gt;
                      &lt;version&gt;1.0.0&lt;/version&gt;
                      &lt;configuration&gt;
                          &lt;lifecycleMappingMetadata&gt;
                              &lt;pluginExecutions&gt;
                                  &lt;pluginExecution&gt;
                                      &lt;pluginExecutionFilter&gt;
                                          &lt;groupId&gt;
                                              org.codehaus.mojo
                                          &lt;/groupId&gt;
                                          &lt;artifactId&gt;
                                              properties-maven-plugin
                                          &lt;/artifactId&gt;
                                          &lt;versionRange&gt;
                                              [1.0-alpha-2,)
                                          &lt;/versionRange&gt;
                                          &lt;goals&gt;
                                              &lt;goal&gt;
                                                  write-active-profile-properties
                                              &lt;/goal&gt;
                                          &lt;/goals&gt;
                                      &lt;/pluginExecutionFilter&gt;
                                      &lt;action&gt;
                                          &lt;execute&gt;&lt;/execute&gt;
                                      &lt;/action&gt;
                                  &lt;/pluginExecution&gt;
                              &lt;/pluginExecutions&gt;
                          &lt;/lifecycleMappingMetadata&gt;
                      &lt;/configuration&gt;
                  &lt;/plugin&gt;
              &lt;/plugins&gt;
          &lt;/pluginManagement&gt;
      &lt;/build&gt;
  
      &lt;pluginRepositories&gt;
          &lt;!-- For testing against latest Spring snapshots --&gt;
          &lt;pluginRepository&gt;
              &lt;id&gt;spring-snapshot&lt;/id&gt;
              &lt;name&gt;SpringSource Snapshot Repository&lt;/name&gt;
              &lt;url&gt;http://repo.springsource.org/snapshot&lt;/url&gt;
              &lt;releases&gt;
                  &lt;enabled&gt;false&lt;/enabled&gt;
              &lt;/releases&gt;
              &lt;snapshots&gt;
                  &lt;enabled&gt;true&lt;/enabled&gt;
              &lt;/snapshots&gt;
          &lt;/pluginRepository&gt;
          &lt;!-- For Spring releases --&gt;
          &lt;pluginRepository&gt;
              &lt;id&gt;spring-repository&lt;/id&gt;
              &lt;name&gt;SpringSource Repository&lt;/name&gt;
              &lt;url&gt;http://repo.springsource.org/release&lt;/url&gt;
              &lt;snapshots&gt;
                  &lt;enabled&gt;false&lt;/enabled&gt;
              &lt;/snapshots&gt;
          &lt;/pluginRepository&gt;
          &lt;!-- For developing against latest Spring milestones --&gt;
          &lt;pluginRepository&gt;
              &lt;id&gt;spring-milestone&lt;/id&gt;
              &lt;name&gt;SpringSource Milestone Repository&lt;/name&gt;
              &lt;url&gt;http://repo.springsource.org/milestone&lt;/url&gt;
              &lt;snapshots&gt;
                  &lt;enabled&gt;false&lt;/enabled&gt;
              &lt;/snapshots&gt;
          &lt;/pluginRepository&gt;
      &lt;/pluginRepositories&gt;
  
      &lt;distributionManagement&gt;
          &lt;!-- Temporary until we have a need to publish to a remote release repository --&gt;
          &lt;snapshotRepository&gt;
              &lt;id&gt;localPublish&lt;/id&gt;
              &lt;name&gt;localPublish&lt;/name&gt;
              &lt;url&gt;file://${user.home}/local-maven-publish-repository&lt;/url&gt;
          &lt;/snapshotRepository&gt;
      &lt;/distributionManagement&gt;
  
  &lt;/project&gt;
  </code></pre>