Hi Makarov, Thanks for documenting the fix on Stackoverflow! I upvoted your answer.
Richard On Mon, Nov 18, 2019 at 6:01 AM Makarov Alexey <[email protected]> wrote: > As I see, the problem in TomEE and Hibernate intercation, when Hibernate > is not in tomee "lib", but in application "lib" directory. When testing > process is ended, and application is undeployed, Tomee try to use class > "org/hibernate/resource/beans/internal/BeansMessageLogger". Here same > problem: > > > https://stackoverflow.com/questions/57679191/testing-persistence-with-arquillian-and-tomee8-tests-are-passing-but-exception > > -- > WIth best regards, > Makarov Alexey > > > 18.11.2019, 14:48, "Makarov Alexey" <[email protected]>: > > Hello, Richard! Thank you for reply! > > I found workaround yesterday. Sorry for late answer. > > I tuned Maven to assembly Hibernate libraries with denendences and copy > it to "target/additional-libs" directory. Then, I setup "additionalLibs" in > arquillian.xml, and specify the path to directory with hibernate libraries. > > Here solution step by step: > > > > 1. Mark Hibernate and datasource driver dependencies as "provided". In > my case: > > ... > > <dependency> > > <groupId>org.hibernate</groupId> > > <artifactId>hibernate-entitymanager</artifactId> > > <version>5.4.8.Final</version> > > <scope>provided</scope> > > </dependency> > > <dependency> > > <groupId>com.vladmihalcea</groupId> > > <artifactId>hibernate-types-52</artifactId> > > <version>2.7.1</version> > > <scope>provided</scope> > > </dependency> > > <dependency> > > <groupId>org.postgresql</groupId> > > <artifactId>postgresql</artifactId> > > <version>42.2.8</version> > > <scope>provided</scope> > > </dependency> > > > > 2. Make assembly file src/test/resources/assembly.xml with folowing > content: > > > > <?xml version="1.0" encoding="UTF-8"?> > > <assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 > http://maven.apache.org/xsd/assembly-2.0.0.xsd"> > > > > <id>libs</id> > > > > <formats> > > <format>dir</format> > > </formats> > > <includeBaseDirectory>false</includeBaseDirectory> > > > > <dependencySets> > > <dependencySet> > > <includes> > > <include>org.postgresql:postgresql:jar:</include> > > <include>org.hibernate:hibernate-entitymanager</include> > > <include>com.vladmihalcea:hibernate-types-52</include> > > </includes> > > <useTransitiveDependencies>true</useTransitiveDependencies> > > <useTransitiveFiltering>true</useTransitiveFiltering> > > <scope>provided</scope> > > </dependencySet> > > </dependencySets> > > > > </assembly> > > > > 3. In pom.xml: > > ... > > <plugin> > > <artifactId>maven-assembly-plugin</artifactId> > > <version>3.2.0</version> > > <configuration> > > <descriptors> > > <descriptor>src/test/resources/assembly.xml</descriptor> > > </descriptors> > > <attach>false</attach> > > <!-- libraries placed in target/additional-libs. "finalName" > specify first part of directory name, second part is constructed in > assembly.xml from "id" tag --> > > <finalName>additional</finalName> > > <outputDirectory>target</outputDirectory> > > </configuration> > > <executions> > > <execution> > > <id>copy-hibernate-and-postgresql-driver</id> > > <phase>process-test-classes</phase> > > <goals> > > <goal>single</goal> > > </goals> > > </execution> > > </executions> > > </plugin> > > ... > > > > 4. Specify folowing properties in arquillian.xml: > > ... > > <property name="dir">target/tomee-remote</property> > > ... > > <property name="additionalLibs"> > > target/additional-libs/*.jar > > </property> > > ... > > <property > name="catalina_opts">-Djavax.persistence.provider=org.hibernate.jpa.HibernatePersistenceProvider</property> > <!-- I use TomEE plus --> > > > > The result is libraries copied in "lib" folder of extracted tomee > directory. One strange behavior of Maven assembly - directory name composed > from two pars, one from pom.xml part (step 3) and second is from "lib" tag > on step 2. I did not find way to specify directory name in one place. > > > > Besides, this solution allow me to specify datasource in arquillian.xml > and do not use resources.xml for testing purposes. > > > > -- > > WIth best regards, > > Makarov Alexey > > > > 18.11.2019, 14:01, "Richard Monson-Haefel" <[email protected]>: > >> Hi, > >> > >> I looked and didn't understand the problem either. Can anyone else help > >> with this? I see that when it occurred before (following the thread > >> you linked) it was not resolved or at least no follow up email was > sent. > >> > >> Richard > >> > >> On Fri, Nov 15, 2019 at 9:25 PM Makarov Alexey <[email protected]> > wrote: > >> > >>> Hello! > >>> I have a secod problem with Arquillian test. Test-method is passed, > but > >>> checked as fail couse unable to undeploy test war-file: > >>> > >>> https://pastebin.com/iLZevA7Q > >>> > >>> I found this thread: > >>> > >>> > http://tomee-openejb.979440.n4.nabble.com/Arquillian-Tomee-7-0-3-Bigger-Test-fail-on-undeploy-td4681765.html > >>> > >>> but I can't understand, what can I do to solve my problem. I will be > glad > >>> of any help! > >>> > >>> -- > >>> WIth best regards, > >>> Makarov Alexey > >> > >> -- > >> Richard Monson-Haefel > >> https://twitter.com/rmonson > >> https://www.linkedin.com/in/monsonhaefel/ > -- Richard Monson-Haefel https://twitter.com/rmonson https://www.linkedin.com/in/monsonhaefel/
