2012-12-26 277 views
0

所以很長一段時間以來,我一直在尋找網絡不斷尋找其他人的問題和修復希望他們會對我的問題虔誠,但我似乎無法找到任何涉及playn的相同問題的人Playn mvn乾淨安裝錯誤「NoClassDefFoundError:playn/core /遊戲

我可以運行「mvn test」cmd和mu小項目運行完美,但是當我最終導出項目時使用「mvn clean install」並嘗試運行myApp-core-1.0-SNAPSHOT.jar我得到一個異常:

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

IMĴ烏斯特想知道過去是否有人遇到過這個問題,並指出我正確的方向來克服它,因爲這個應用程序是我的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

'NoClassDefFoundError'通常表示什麼? –

+0

從研究到錯誤我認爲這意味着類是在編譯過程中發現,但沒有在運行過程中發現,....我認爲 – WockaWocka

+0

這意味着你的結果jar不包含所有需要的依賴關係。 – khmarbaise

回答

0

我有以下修正了這個問題這tutori al(http://jameswilliams.be/blog/entry/255),我沒有將zombiepanic-core鏈接到java後端(zombiepanic-java)來執行此操作,您需要首先將此插件添加到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>

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

一旦你做到了這一點,它通過增加,這也爲Java後端的pom.xml鏈接到核心類(zombiepanic芯)

記得將主類連接到你的java後端版本,以便考試而是ZombiePanicJava而不是ZombiePanic的核心版本。