我正在使用 IntelliJ 开发 Griffon 应用程序,并且正在尝试使用 dcm4che 项目库。我已经设法让 IntelliJ 的代码编辑器停止抱怨缺少类,但是当我去运行 Griffon 应用程序时,编译器着火了,抱怨它是unable to resolve class DicomInputStream
,等等。
我没有做任何花哨的事情。我所做的只是尝试包含一些简单的 jar 文件,但无论出于何种原因,事情都无法正常工作。
我承认,我在处理类路径问题方面并不是特别精通,而且我只使用 IntelliJ 一段时间,而使用 Griffon / Groovy 的时间更少,但我完全被难住了。
这是失败的导入语句集:
import org.dcm4che2.io.DicomInputStream
import org.dcm4che2.data.DicomObject
import org.dcm4che2.data.DicomElement
这是我在尝试运行或调试应用程序时在 IntelliJ 控制台中收到的一组错误消息:
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
要安装 dcm4che 库,我执行了以下操作:
- 下载库二进制文件(-bin zip)并将 zip 解压缩到
MyApp\MyAppClient\lib\dcm4che-2.0.25-bin
- 在 Project Structure 对话框中,在 Modules->MyAppClient 下,在 Dependencies 选项卡下,单击“Add”并选择文件夹:
MyAppClient\lib\dcm4che-2.0.25-bin\dcm4che-2.0.25\lib
此时,代码编辑器停止抱怨无法找到和解析类,但是当我运行或调试应用程序时,我得到了编译错误。无需导入这些类(以及使用它们的代码),一切都可以正常工作。
我能做些什么来解决这个问题?还有哪些其他信息有助于弄清楚发生了什么?