2011-07-18 34 views
0

我正在尝试做一个maven命令行构建时出现以下错误:广东话决心类型的错误执行Maven构建时

[错误] /主干/应用/网络/ src目录/测试/ JAVA/COM/morrislgn/ec/dms/controller/MyControllerTest.java:96:0 :: 0 BuilderType无法解析为类型 由org.codehaus.mojo.aspectj.CompilationFailedException导致:编译器错误: 导入静态com.morrislgn时出错.ec.dms.common.domain.BuilderType *。

但是,当我在Eclipse中运行此测试类时,这些测试按预期运行。我已经看到了这些依赖关系,并且把这个共同的项目作为一个依赖项加入了课堂之中,而没有任何的喜悦。

有没有人有任何其他想法可能会导致此问题?

由于提前,

莫里斯

回答

0

我认为你需要某种依赖于AspectJ的插件配置的。你需要的种类取决于缺少的BuilderType类应该来自哪里。如果你能解释某人可能会更具体。见the plugin docs,尤其是herehere(假设你编译测试 - 看到编译目标,否则我不是一个AspectJ用户 - !如果有人读这是谁,请权衡

请发布您的POM的相关部分,并解释其中BuilderType应该来自。

0

好了,找到了解决办法。

的builderClass上面提到的是在src \测试\主要在一个共同的项目,我有。因此,它没有包含在普通罐子里面

我有一个web项目,它依赖于通用的jar,并在其测试中使用了BuilderType。在Eclipse中,所有这些都可以解决,因为它似乎能够将所有东西组合在一起。

使用maven从命令行构建不同,但是这依赖于jar文件而不是java文件。

要解决这个测试类的jar文件添加到构建指令中的POM共同项目:

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-jar-plugin</artifactId> 
     <version>2.2</version> 
     <executions> 
     <execution> 
      <id>jar_it</id> 
      <phase>compile</phase> 
      <goals> 
      <goal>jar</goal> 
      </goals> 
     </execution>  
     <execution> 
      <goals> 
      <goal>test-jar</goal> 
      </goals> 
     </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</build> 

再依赖被添加到web项目,以便它可以使用这个jar 。

 <dependency> 
     <groupId>group.id</groupId> 
     <artifactId>common</artifactId> 
     <version>${project.version}</version> 
     <scope>test</scope> 
     <classifier>tests</classifier> 
    </dependency> 

工作完成。 :)