Fórum

Problem with Arquillian Instructions

Akseli Kallio, modificado 8 Anos atrás.

Problem with Arquillian Instructions

New Member Mensagem: 1 Data de Entrada: 28/04/15 Postagens Recentes
Hi,

I'm trying to setup my project and development environment to use the Arquillian test framework for integration tests. I have followed the instructions in these two blog entries and I am using maven to build my project.
The plugin worked on my computer is not valid anymore
arquillian-extension-liferay-1-0-0-Alpha1

The thing that I am struggling at is creating the deployable .war file. I keep getting the same error when executing the test and haven't been able to come up with a solution no matter how much I search.

Here is the @Deployment part of my test:

@Deployment
public static WebArchive createDeployment() {
        return ShrinkWrap.create(WebArchive.class, "test.war")
                .addClasses(MyHook.class)
                .addAsResource("hook.properties");
}


Here is the exception:

ERROR org.arquillian.liferay.maven.internal.tasks.ExecuteDeployerTask - Error executing deployer task :com.liferay.portal.tools.deploy.PortletDeployer
java.lang.ClassNotFoundException: com.liferay.portal.util.EntityResolver
	at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[?:1.7.0_67]
	at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[?:1.7.0_67]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.7.0_67]
	at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[?:1.7.0_67]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[?:1.7.0_67]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[?:1.7.0_67]
	at org.arquillian.liferay.maven.internal.tasks.ExecuteDeployerTask.initUtils(ExecuteDeployerTask.java:111) ~[arquillian-liferay-maven-extension-1.0.0.Alpha1.jar:1.0.0.Alpha1]
	at org.arquillian.liferay.maven.internal.tasks.ExecuteDeployerTask.execute(ExecuteDeployerTask.java:83) [arquillian-liferay-maven-extension-1.0.0.Alpha1.jar:1.0.0.Alpha1]
	at org.arquillian.liferay.maven.internal.tasks.PortletDeployerTask.execute(PortletDeployerTask.java:94) [arquillian-liferay-maven-extension-1.0.0.Alpha1.jar:1.0.0.Alpha1]
	at org.arquillian.liferay.maven.internal.LiferayWarPackagingProcessor.importBuildOutput(LiferayWarPackagingProcessor.java:228) [arquillian-liferay-maven-extension-1.0.0.Alpha1.jar:1.0.0.Alpha1]
	at org.arquillian.liferay.maven.internal.LiferayWarPackagingProcessor.importBuildOutput(LiferayWarPackagingProcessor.java:62) [arquillian-liferay-maven-extension-1.0.0.Alpha1.jar:1.0.0.Alpha1]
	at org.jboss.shrinkwrap.resolver.impl.maven.archive.importer.PomEquippedMavenImporterImpl.importBuildOutput(PomEquippedMavenImporterImpl.java:49) [shrinkwrap-resolver-impl-maven-archive-2.1.1.jar:2.1.1]
	at org.jboss.shrinkwrap.resolver.impl.maven.archive.importer.PomEquippedMavenImporterImpl.importBuildOutput(PomEquippedMavenImporterImpl.java:44) [shrinkwrap-resolver-impl-maven-archive-2.1.1.jar:2.1.1]
	at org.arquillian.liferay.maven.generator.MavenDeploymentScenarioGenerator.createLiferayPluginDeployment(MavenDeploymentScenarioGenerator.java:86) [arquillian-liferay-maven-extension-1.0.0.Alpha1.jar:1.0.0.Alpha1]
	at org.arquillian.liferay.maven.generator.MavenDeploymentScenarioGenerator.generate(MavenDeploymentScenarioGenerator.java:67) [arquillian-liferay-maven-extension-1.0.0.Alpha1.jar:1.0.0.Alpha1]
	at org.jboss.arquillian.container.test.impl.client.deployment.DeploymentGenerator.generateDeployment(DeploymentGenerator.java:79) [arquillian-container-test-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_67]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_67]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_67]
	at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_67]
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) [arquillian-core-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) [arquillian-core-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) [arquillian-core-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145) [arquillian-core-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116) [arquillian-core-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67) [arquillian-core-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:100) [arquillian-container-test-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_67]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_67]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_67]
	at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_67]
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) [arquillian-core-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) [arquillian-core-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) [arquillian-core-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:92) [arquillian-test-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_67]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_67]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_67]
	at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_67]
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) [arquillian-core-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) [arquillian-core-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:73) [arquillian-test-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_67]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_67]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_67]
	at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_67]
	at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) [arquillian-core-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) [arquillian-core-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145) [arquillian-core-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116) [arquillian-core-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:87) [arquillian-test-impl-base-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:201) [arquillian-junit-core-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:422) [arquillian-junit-core-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:54) [arquillian-junit-core-1.1.7.Final.jar:1.1.7.Final]
	at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:218) [arquillian-junit-core-1.1.7.Final.jar:1.1.7.Final]
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363) [junit-4.12.jar:4.12]
	at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:166) [arquillian-junit-core-1.1.7.Final.jar:1.1.7.Final]
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) [surefire-junit4-2.13.jar:2.13]
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) [surefire-junit4-2.13.jar:2.13]
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) [surefire-junit4-2.13.jar:2.13]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_67]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_67]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_67]
	at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_67]
	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:208) [surefire-api-2.13.jar:2.13]
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:158) [surefire-booter-2.13.jar:2.13]
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86) [surefire-booter-2.13.jar:2.13]
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) [surefire-booter-2.13.jar:2.13]
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:95) [surefire-booter-2.13.jar:2.13]


Any help would be appreciated as I am about to give up on Arquillian.

Greetings,
Akseli Kallio
thumbnail
Tobias Liefke, modificado 8 Anos atrás.

RE: Problem with Arquillian Instructions

Junior Member Postagens: 78 Data de Entrada: 23/11/12 Postagens Recentes
I once used Arquilllian as well, but stopped that experiment and use cargo now, as it was a pain to model the WAR in arquillian.

I don't know the Arquillian-Liferay-Plugn, but I would debug ExecuteDeployerTask and check the built classloader - maybe it uses some fix library path which doesn't exist in your maven repository...
thumbnail
Pedro Alves, modificado 8 Anos atrás.

RE: Problem with Arquillian Instructions

New Member Postagens: 4 Data de Entrada: 24/03/10 Postagens Recentes
Hi,

I was having the same problem and found out that Arquillian imports the liferay libs (including portal-impl.jar which contains EntityResolver) from ${liferay.app.server.basedir}/tomcat/....etc so you have to make sure that the property liferay.app.server.basedir is correcty defined in the pom.xml.

Also, be advised that this property can't be defined in a local settings.xml that is passed through mvn -s settings.xml - Arquillian has no way of knowing that this flag was passed so it ignores that file.

Best regards,
Pedro Alves
http://www.opensoft.pt