cargo maven2 プラグインでいくつかの機能テストを実行しようとしています。これらのテストは、cargo maven2 プラグインを使用せずに起動すると、ローカルの tomcat サーバーで正常に実行されます。プラグイン自体は正常に起動しますが、テストを実行すると、次のトレースで 500 エラー コードが返されます。
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
pom に jarを追加ojdbc 6
し、ojdbc 5 と ojdbc 14 への参照を除外しました。
これが私の貨物構成です:
<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/abc@domain.net: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>
私はWebサービスの世界の初心者なので、提案/ポインタをいただければ幸いです。どこかで設定が不足している可能性がありますか?