2012-11-28 71 views
0

我正在研究一個項目,其中我已經獲得了使用Maven構建的示例代碼。在pom.xml有Maven pom.xml更改清單主要類

<plugin> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <version>2.3</version> 
    <configuration> 
     <archive> 
      <manifest> 
       <mainClass>com.xxx.research.control.ControlClass</mainClass> 
       <addClasspath>true</addClasspath> 
       <classpathPrefix>lib/</classpathPrefix> 
      </manifest> 
     </archive> 
     <descriptorRefs> 
      <descriptorRef>jar-with-dependencies</descriptorRef> 
     </descriptorRefs> 
    </configuration> 
    <executions> 
     <execution> 
      <id>make-assembly</id> 
      <phase>package</phase> 
      <goals> 
       <goal>single</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

現在我已經寫我自己的代碼,我想,因爲我是新來的行家重用這個POM。我試圖將<mainClass>com.xxx.research.control.Main</mainClass>更改爲<mainClass>project.Main</mainClass>,因爲那是我的代碼。在Eclipse中,我將它放在sam源文件夾中,但放在一個「項目」包中。

當我做maven乾淨安裝與原始pom我可以運行它產生的jar很好,但是當我修改它來建立我的代碼我得到Exception in thread "main" java.lang.NoClassDefFoundError: project/Main

我在這裏錯過了什麼?

在此先感謝。

回答

1

默認情況下行家看起來在src /主/ java文件夾爲您的源代碼,所以你必須把上的src/main/JAVA /項目主類/ Main.java

有一個在讀行家手冊,它也有將被納入類路徑資源和單元測試一些文件夾結構:

  • 的src /主/資源
  • 的src /測試/ JAVA
  • 的src /測試/資源