hibernate is is unable to find my ejbs.jar
ssatir May 6, 2009 2:52 PMHi!
I have set up a multi module ear project with maven. I have put the tests into a separate project. To test my seam components i use jboss embedded inside maven. My project structure looks like this:
relis |-- relis-ear | -- src | -- main | |-- application | | -- META-INF | -- resources |-- relis-ejb | -- src | |-- main | | |-- java | | | -- com | | | -- hp | | | -- relis | | | |-- action | | | |-- dao | | | -- model | | -- resources | | -- META-INF | -- test |-- relis-test | |-- bootstrap | | |-- META-INF | | |-- conf | | | -- props | | |-- deploy | | | |-- jboss-local-jdbc.rar | | | | -- META-INF | | | -- messaging | | |-- deployers | | -- stylesheets | -- src | |-- main | -- test | |-- java | | -- com | | -- hp | | -- relis | | -- test | -- resources | -- META-INF -- relis-web -- src |-- main | |-- java | |-- resources | -- webapp | |-- META-INF | -- WEB-INF | -- lib -- test
When i run mvn test inside my parent project, everythings works fine. the jboss embedded starts up properly and my test succeeds.
But when i run mvn package or install the tests fail, because hibernate does not register my entity. In the log i have noticed the following lines:
WARN [org.hibernate.ejb.packaging.InputStreamZippedJarVisitor] Unable to find file (ignored): jar:file:/home/relisdev01/relis/project/relis/relis-ejb/target/relis-ejb-0.0.1-SNAPSHOT.jar!/ java.io.IOException: no entry name specified . . ERROR [org.jboss.aspects.tx.TxPolicy] javax.ejb.EJBTransactionRolledbackException: org.hibernate.hql.ast.QuerySyntaxException: User is not mapped [select username from User where username = :el1]
My test project pom looks like this:
<?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">
<parent>
<artifactId>relis</artifactId>
<groupId>com.hp.relis</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.hp.relis</groupId>
<artifactId>relis-test</artifactId>
<packaging>jar</packaging>
<name>relis-test</name>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.hp.relis</groupId>
<artifactId>relis-ejb</artifactId>
<version>${project.version}</version>
<type>ejb</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.seam.embedded</groupId>
<artifactId>jboss-embedded-all</artifactId>
<version>beta3</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.jboss.microcontainer</groupId>
<artifactId>jboss-deployers-client-spi</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jboss.seam.embedded</groupId>
<artifactId>jboss-embedded-api</artifactId>
<version>beta3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.seam.embedded</groupId>
<artifactId>hibernate-all</artifactId>
<version>beta3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.seam.embedded</groupId>
<artifactId>thirdparty-all</artifactId>
<version>beta3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.seam</groupId>
<artifactId>jboss-seam</artifactId>
<version>${seam.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.seam</groupId>
<artifactId>jboss-el</artifactId>
<version>2.0.0.GA</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>${jsf.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>5.8</version>
<classifier>jdk15</classifier>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.4.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.4.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<testResources>
<testResource>
<directory>bootstrap</directory>
</testResource>
<testResource>
<directory>src/test/resources</directory>
</testResource>
</testResources>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.4.2</version>
</plugin>
</plugins>
</reporting>
</project>
I have no idea why my test does not run whithin package or install but otherwise runs correct when i run mvn test alone.
Does anybody have a hint what i am doing wrong?
Thanks in advance!
Serkan