2016-10-19 198 views
0

嘿,我书面方式的一个项目,其中包括2其他Maven项目:与罐子Maven的战争项目

  1. JPA和EJB项目(DAO层)包装的.jar

  2. REST服务项目包装的.war

我找到了与eclipse设置依赖关系的帮助。在我的战争项目中,我添加了DAO的本地项目。编译,建立(mvn干净安装在两个pom.xml)成功了。但我无法将其部署到瘫痪服务器上。我从我的jar包中得到了NoClassDef类。

另一方面,我看到很多DAO包装在罐子里的项目。但是有EJB3注释。他们会在配置中使用JEE服务器吗?(他们不需要web.xml,所以也许它是正确的)。我必须设置我的依赖DAO项目的范围?如果我有NoClassDef错误,似乎在运行时没有编译类,或者有2个或更多来自此包的类的定义。我尝试了一些配置,但我无法获得解决方案。

有人可以写最佳实践来设置maven项目吗?例如

  1. DAO层类型:罐子

  2. REST服务层类型:战争,依赖性:DAO {范围:默认情况下,类型:JAR}

+0

您正在使用哪个EJB3注释? –

回答

1

我认为一个好的做法将定义项目父级(Parent POM),其必须定义涉及的模块:

<modules> 
    <module>application-dao</module> 
    <module>application-rest</module> 
</modules> 

and defin Ë作为依赖,你的应用程序“的.jar”

<dependency> 
    <groupId>com.test</groupId> 
    <artifactId>application-dao</artifactId> 
    <version>${project.version}</version> 
    <scope>compile</scope> 
</dependency> 

一个建议,你可以添加管理额外的一层,然后你会

  • 应用道
  • 应用核心
  • application-rest
相关问题