2012-11-28 36 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 /测试/资源