Lucrez la o aplicație Griffon, folosind IntelliJ și încerc să folosesc bibliotecile de proiect dcm4che. Am reușit să fac editorul de cod al IntelliJ să nu se mai plângă de cursuri lipsă, dar când merg să rulez aplicația Griffon, compilatorul se dă în flăcări, plângându-se că este unable to resolve class DicomInputStream
etc.
Nu fac nimic elegant. Tot ce fac este să încerc să includ câteva fișiere jar simple, dar din orice motiv, lucrurile nu funcționează corect.
Recunosc, nu sunt foarte bine versat în a trata problemele classpath și am folosit IntelliJ doar de puțin timp și Griffon / Groovy de și mai puțin timp, dar sunt complet nedumerit.
Iată setul de instrucțiuni de import care eșuează:
import org.dcm4che2.io.DicomInputStream
import org.dcm4che2.data.DicomObject
import org.dcm4che2.data.DicomElement
Și acesta este setul de mesaje de eroare pe care le primesc în consola IntelliJ când încerc să rulez sau să depanez aplicația:
Base Directory: C:\Users\[REDACTED]\MyApp\MyAppClient
Resolving dependencies...
Dependencies resolved in 698ms.
Running script C:\Program Files (x86)\Griffon\Griffon-0.9.4\scripts\RunApp.groovy
Environment set to development
[griffonc] Compiling 32 source files to C:\Users\[REDACTED]\.griffon\0.9.4\projects\MyApp\classes
[griffonc] org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
[griffonc] C:\Users\[REDACTED]\MyApp\MyAppClient\griffon-app\controllers\myappclient\SelectRootController.groovy: 9: unable to resolve class org.dcm4che2.data.DicomElement
[griffonc] @ line 9, column 1.
[griffonc] import org.dcm4che2.data.DicomElement
[griffonc] ^
[griffonc]
[griffonc] C:\Users\[REDACTED]\MyApp\MyAppClient\griffon-app\controllers\myappclient\SelectRootController.groovy: 7: unable to resolve class org.dcm4che2.io.DicomInputStream
[griffonc] @ line 7, column 1.
[griffonc] import org.dcm4che2.io.DicomInputStream
[griffonc] ^
[griffonc]
[griffonc] C:\Users\[REDACTED]\MyApp\MyAppClient\griffon-app\controllers\myappclient\SelectRootController.groovy: 8: unable to resolve class org.dcm4che2.data.DicomObject
[griffonc] @ line 8, column 1.
[griffonc] import org.dcm4che2.data.DicomObject
[griffonc] ^
[griffonc]
[griffonc] 3 errors
Compilation error: Compilation Failed
Pentru a instala bibliotecile dcm4che, am făcut următoarele:
- Descărcați binarele bibliotecii (zip-ul -bin) și despachetați fișierul zip la
MyApp\MyAppClient\lib\dcm4che-2.0.25-bin
- În dialogul Structura proiectului, sub Module->MyAppClient, sub fila Dependențe, dau clic pe „Adăugați” și selectez folderul:
MyAppClient\lib\dcm4che-2.0.25-bin\dcm4che-2.0.25\lib
În acest moment, editorul de cod încetează să se plângă că nu poate găsi și rezolva clasele, dar când rulez sau depanez aplicația, primesc erorile de compilare. Totul funcționează foarte bine fără a importa acele clase (și codul care le folosește).
Ce pot face pentru a rezolva asta? Ce alte informații ar fi utile pentru a afla ce se întâmplă?
lib
funcționează, dar dacă le pun în orice director din acesta, cum ar filib/dcm4che/
, IDE-ul le poate găsi, nicio problemă, dar Griffon nu poate. Se poate face ceva pentru a remedia acest lucru? Chiar nu mi-ar plăcea să trebuiască să am toate fișierele mele jar într-un director masiv fără organizare, mai ales când mai multe proiecte au nevoie de aceleași lucruri. - person cdeszaq   schedule 08.12.2011