cargo maven2プラグインでいくつかの機能テストを実行しようとしています。これらのテストは、cargo maven2プラグインを使用せずに起動するとローカルTomcatサーバーで正常に動作します。プラグイン自体起動に成功しかし、ときに私は、彼らが次のトレースと500エラーコードを返すテストを実行します。私は5とojdbc 14ClassNotFoundException:cargo maven2プラグインを使用してテストを実行すると、oracle.jdbc.OracleDriver
をojdbcために私のポンポンと除外参考文献にojdbc 6
jarファイルを追加した
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
をここに私の貨物構成です:
<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>
任意の提案/ポインタをいただければ幸いですので、私は、Webサービスの世界に初心者です。どこかの設定が欠けているかもしれませんか?
あなたの提案に感謝しますが、私はテストプロジェクト内で参照されたライブラリの一部としてojdbc6 -11.2.0.3を見ることができます。貨物がそれを拾うのに十分ではありませんか? – linuxNoob