Playn mvn clean install error" NoClassDefFoundError:playn / core / game

时间:2012-12-26 14:40:53

标签: java maven noclassdeffounderror playn

所以很长一段时间以来我一直在网上不断寻找其他人的问题和解决方案希望他们对我的问题虔诚,但我似乎找不到任何涉及playn的同一问题。

我可以运行“mvn test”cmd和mu小项目完美运行,但是当我最终使用“mvn clean install”和attemt导出项目以运行myApp-core-1.0-SNAPSHOT.jar时,我得到一个异常:

Exception in thread "main" java.NoClassDefFoundError: playn/core/game

我只是想知道过去是否有人遇到过这个问题并且可以指出我正确的方向来克服它,因为这个应用程序是我的A级课程,并且很快就会被提交我很担心我可能没有达到递交日期的截止日期,我真的希望这不会发生D:

这是我的myApp-core pom.xml

<?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>
<parent>

<groupId>com.ALevelWork</groupId>
<artifactId>zombiepanic</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>

<artifactId>zombiepanic-core</artifactId>
<packaging>jar</packaging>
<name>ZombiePanic Core</name>

<dependencies>
<dependency>
  <groupId>com.googlecode.playn</groupId>
  <artifactId>playn-jbox2d</artifactId>
  <version>${playn.version}</version>
</dependency>

<dependency>
  <groupId>com.googlecode.playn</groupId>
  <artifactId>playn-core</artifactId>
  <version>${playn.version}</version>
</dependency>

</dependencies>

<build>
<plugins>   

    <plugin>
<!-- Build an executable JAR -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
  <manifest>
  <addClasspath>true</addClasspath>
  <classpathPrefix>lib/</classpathPrefix>
      <mainClass> ZombiePanic.core.ZombiePanic</mainClass>
  </manifest>
 </archive>
 </configuration>
 </plugin>

   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
  </plugin>
  </plugins>

  <resources>
  <!-- include the source files in our main jar for use by GWT -->
  <resource>
    <directory>${project.build.sourceDirectory}</directory>
  </resource>
  <!-- and continue to include our standard resources -->
  <resource>
    <directory>${basedir}/src/main/resources</directory>
    </resource>
  </resources>
 </build>
 </project>

提前致谢,

雅各

1 个答案:

答案 0 :(得分:0)

我通过遵循本教程(http://jameswilliams.be/blog/entry/255)解决了这个问题,我没有将zombiepanic-core链接到java后端(zombiepanic-java)来做到这一点你需要首先将此插件添加到java后端pom.xml:

<plugin>
    <groupId>org.sonatype.plugins</groupId>
    <artifactId>jarjar-maven-plugin</artifactId>
<version>1.5</version>
<executions>
    <execution>
        <phase>package</phase>
        <goals>
            <goal>jarjar</goal>
        </goals>
        <configuration>
            <rules />
        </configuration>
    </execution>
</executions>

完成此操作后,将其添加到核心类(zombiepanic-core),并将其添加到java后端pom.xml中:

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>com.YourPackage.java.JarJarDemoJava</mainClass> </manifest> </archive> </configuration> </plugin>

记得将主类链接到你的java后端版本,例如ZombiePanicJava而不是核心版本,只是ZombiePanic。