2008-11-17 7 views
6

Ich habe eine .jar-Datei, die ich in meinem Verzeichnis D: \ Coldfusion8 \ wwwroot \ web-inf \ lib \ abgelegt habe. Die Datei ist abcdef.jarAufruf einer .jar von ColdFusion

Dies ist mein erstes Mal dabei, nicht sicher, was der Pfad in meinem createObject() sein sollte.

<cfset abcObj = createObject("java","com.abcdef") /> 
<cfset result = acbObj.doStuff("123456") /> 

Aber wenn ich es laufen, bekomme ich

Object Instantiation Exception. 
Class not found: com.vp4jo_b 

Was bin ich auf dem Weg fehlt?

Antwort

3

Haben Sie den Coldfusion-Service neu gestartet?

Auch im Klassenpfad werden nur beim Serverstart Gläser geladen.

bewegte Info aus den Kommentaren auf:

  • Sicherstellen, dass die Datei im Systemklassenpfad ist, oder in dem eine der konfigurierten Klassenpfade von Coldfusion.
  • Wie für den Klassennamen Parameter von CreateObject(): Der Klassenname beginnt im Jar. Öffnen Sie es wie eine .zip-Datei und schauen Sie sich dessen Struktur an. Der gepunktete Pfad ahmt die Ordnerstruktur nach. Wenn der Server also weiterhin meckert, muss etwas im gepunkteten Pfad fehlen.
+0

Ich habe. Meine Verwirrung kommt dort, wo der "com" beginnt. Ich habe das von einem Beispiel im Internet bekommen. Wie gesagt, mein .jar ist in D: \ Coldfusion8 \ lib \ –

+0

Das "com" beginnt im Glas. Öffnen Sie es wie eine .zip-Datei und schauen Sie sich dessen Struktur an. Der gepunktete Pfad ahmt die Ordnerstruktur nach, daher muss etwas im Pfad fehlen. – Tomalak

+0

Ok, also gehe ich zurück, wo sage ich Coldfusion, ob ich überhaupt nach der .jar-Datei suchen soll? –

5

Haben Sie über die Verwendung von JavaLoader nachgedacht?

+1

JavaLoader ist definitiv der Weg zu gehen. Auf diese Weise können Sie die Java-Klasse/lib an die gewünschte Stelle setzen, statt sich auf den Klassenpfad für Ihre spezifische Installation zu verlassen. – modius