J'essaie d'effectuer des tests fonctionnels sur le plugin cargo maven2. Ces tests fonctionnent correctement sur le serveur local tomcat lorsqu'il est lancé sans utiliser le plugin cargo maven2. Le plugin lui-même des bottes avec succès mais quand je lance les tests qu'ils retournent 500 code d'erreur avec la trace suivante:ClassNotFoundException: oracle.jdbc.OracleDriver lors de l'exécution de tests utilisant le plugin cargo maven2
Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'oracle.jdbc.OracleDriver'
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1429)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
... 109 more
Caused by: java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
at java.lang.ClassLoader.findClass(ClassLoader.java:531)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at persistence.spi.hibernate.TransformingClassLoader.loadClass(TransformingClassLoader.java:46)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:14
J'ai ajouté jar ojdbc 6
dans mon pom et exclues des références à ojdbc 5 et ojdbc 14.
Voici ma configuration cargo:
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.4.14</version>
<configuration>
<container>
<containerId>tomcat7x</containerId>
<type>installed</type>
<zipUrlInstaller>
<url>http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.70/bin/apache-tomcat-7.0.70.zip</url>
<downloadDir>${project.build.directory}/downloads</downloadDir>
<extractDir>${project.build.directory}/extracts</extractDir>
</zipUrlInstaller>
<systemProperties>
<java.io.tmpdir>target/tmp</java.io.tmpdir>
</systemProperties>
<output>${project.build.directory}/cargo-container.log</output>
<log>${project.build.directory}/cargo.log</log>
</container>
<deployables>
<deployable>
<groupId>x.rest</groupId>
<artifactId>x-war</artifactId>
<type>war</type>
</deployable>
</deployables>
<configuration>
<type>standalone</type>
<home>${project.build.directory}/tomcat7x/container</home>
<properties>
<cargo.tomcat.ajp.port>9414</cargo.tomcat.ajp.port>
<cargo.servlet.port>9484</cargo.servlet.port>
<cargo.rmi.port>9496</cargo.rmi.port>
<cargo.logging>high</cargo.logging>
<war>${project.build.directory}/x-war.war</war>
<!-- This section was added by me but didn't fix the problem -->
<cargo.datasource.datasource>
cargo.datasource.jndi=jdbc/DB|
cargo.datasource.type=javax.sql.DataSource|
cargo.datasource.driver=oracle.jdbc.OracleDriver|
cargo.datasource.url=jdbc:oracle:thin:abc/[email protected]:22:node1|
cargo.datasource.username=abc|
cargo.datasource.password=abc
</cargo.datasource.datasource>
</properties>
<configfiles>
<configfile>
<file>${project.basedir}/src/test/resources/war-dependencies/stable-dev/context.xml</file>
<todir>conf</todir>
<tofile>context.xml</tofile>
</configfile>
</configfiles>
<files>
<file>
<file>${project.basedir}/src/test/resources/war-dependencies/stable-dev/service.keystore</file>
<todir>shared/classes</todir>
</file>
</files>
</configuration>
</configuration>
<executions>
<!-- The executions here deal only with INTEGRATION-TEST phase. We are NOT hitting REST Service via tests in the TEST phase. We need to be assured that our container is already
up and running. So cargo is started in PRE-INTEGRATION-TEST phase. -->
<execution>
<id>start-container</id>
<phase>pre-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
<!-- <execution>
<id>stop-container</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>-->
</executions>
</plugin>
Je suis un débutant dans le monde des services Web afin des suggestions/pointeurs seraient appréciés. Peut-être qu'il me manque quelque configuration quelque part?
Merci pour votre suggestion, mais je peux voir ojdbc6 -11.2.0.3 dans le cadre des bibliothèques référencées dans mon projet de test. Cela ne devrait-il pas suffire pour que la cargaison le prenne? – linuxNoob