Reputation: 362
Trying to build an eclipse plugin. When I try to run mvn install I get this error message:
java.lang.NoClassDefFoundError: org/eclipse/xtext/common/types/DefaultCommonTypesRuntimeModule
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
Apparently a NoClassDefFoundError means that the class isn't available at runtime. This plugin doesn't actually run xtext code but it is built using an xtext language plugin. My guess would be that there would be a problem with getting that code at runtime? I maven installed the parent plugin and even linked it's jar locally through maven and this still pops up. Ideas?
Also heres the project's pom:
<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.fu_berlin.inf.archnemesis</groupId>
<artifactId>archnemesis-pmd-rule</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Archnemesis PMD Plugin</name>
<description>Archnemesis rule implementation for PMD</description>
<dependencies>
<dependency>
<groupId>de.fu_berlin.inf.archnemesis</groupId>
<artifactId>de.fu_berlin.inf.archnemesis</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd</artifactId>
<version>5.0.5</version>
</dependency>
<dependency>
<groupId>de.fu_berlin.inf.archnemesis</groupId>
<artifactId>de.fu_berlin.inf.archnemesis-core-rule</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtend</groupId>
<artifactId>org.eclipse.xtend.lib</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
Upvotes: 0
Views: 667
Reputation: 5040
Try adding the following dependency to your pom.xml
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext.common.types</artifactId>
<version>2.8.4</version>
</dependency>
Upvotes: 1