مزود النمل مشكلة CLASSPATH مهمة
سؤال
ولدي build.xml
النمل التالية:
<path id="antclasspath">
<fileset dir="lib">
<include name="*.jar"/>
</fileset>
</path>
<property name="pathvar" refid="antclasspath" />
<echo message="Classpath is ${pathvar}"/>
<sql
driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@myserver.hu:1521:dbid"
userid="myuserid"
password="mypassword"
print="yes"
classpathref="antclasspath">
select * from table
</sql>
وهناك برنامج Oracle JDBC في الدليل ليب. صدى يطبع بها بشكل صحيح:
Classpath is E:\MyDir\lib\ojdbc14-10_2_0_3.jar
ومهمة النمل لغة الاستعلامات البنيويه بطريقة أو بأخرى لا تزال غير قادرة على تحميل برنامج Oracle:
E:\MyDir\build.xml:100: Class Not Found: JDBC driver oracle.jdbc.driver.OracleDriver could not be loaded
ما هي المشكلة مع هذا build.xml؟ ومن الغريب جدا أنه كان يعمل عدة مرات أمس، ولكن أبدا مرة أخرى.
وعن طريق classpath="E:\MyDir\lib\ojdbc14-10_2_0_3.jar"
في مهمة يعطي رسالة الخطأ نفسه.
وأنا باستخدام 1.7.1 النمل (بني في نتبيانس 6.5)
المحلول
وبناء الجملة يبدو الصحيح بالنسبة لي. محاولة تمرير التبديل -v
لقيادة النمل الخاص بك، التي من شأنها توجيه مهمة sql
لطباعة CLASSPATH انها تستخدم. يجب أن نرى شيئا مثل:
[sql] connecting to jdbc:oracle:thin:@myserver.hu:1521:dbid
[sql] Loading oracle.jdbc.driver.OracleDriver using AntClassLoader with classpath E:\MyDir\lib\ojdbc14-10_2_0_3.jar
[sql] Executing commands
[sql] SQL: select * from dual
[sql] Processing new result set.
[sql] DUMMY
[sql] X
[sql] 0 rows affected
[sql] 0 rows affected
[sql] Committing transaction
[sql] 1 of 1 SQL statements executed successfully
وإذا كان هذا لا يساعد، يمكنك محاولة تمرير التبديل -debug
، والتي سوف تطبع كما هائلا من المعلومات بما في ذلك التصحيح classloader.
وأخيرا، هل لديك التحقق من أن جرة ojdbc ليست فاسدة ولا، في الواقع، تحتوي على الطبقة OracleDriver؟
نصائح أخرى
وحاول تغيير اسم الفئة إلى oracle.jdbc.OracleDriver. يتم إهمال حزمة oracle.jdbc.driver لصالح oracle.jdbc.
وراجع قسم "القديمة oracle.jdbc.driver حزمة سوف تزول" في التمهيدي <لأ href = "http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/readme_10201 هتمل "يختلط =" نوفولو noreferrer "> هنا .
وبدلا من classpathref السمة قد تتمكن من محاولة استخدام عنصر CLASSPATH.
<sql ..params..>
<classpath refid="antclasspath"/>
</sql>
وهذه هي الطريقة التي كنت دائما الرجوع classpaths بلدي وأنا لم يكن لديه أية مشاكل.