如何在编译后从命令行运行dcm4che工具?

时间:2014-10-02 19:56:46

标签: java maven dcm4che

我想使用dcm2json工具,它是dcm4che3工具包的一部分,但我无法弄清楚如何编译和执行命令行工具。跑了

$ git clone https://github.com/dcm4che/dcm4che.git
$ cd dcm4che
$ mvn install

在安装手册中概述的dcm4che目录根目录中,我从编译中获得的是一个jar dcm4che / dcm4che-tool / dcm4che-tool-dcm2json / target / dcm4che-tool-dcm2json-3.3.5-SNAPSHOT.jar和一个类文件dcm4che / dcm4che-tool / dcm4che-tool-dcm2json / target / classes / org / dcm4che3 / tool / dcm2json / Dcm2Json.class。没有工具可以执行。我可以执行从http://sourceforge.net/projects/dcm4che/files/dcm4che3/3.3.3/下载的独立工具,但遗憾的是dcm2json并未包含在此(最新的sourceforge)版本中。

有谁知道我可以从哪里下载dcm2json可执行文件或如何编译它?任何帮助都会非常非常感激。

(是的,我做了谷歌。很多。)

2 个答案:

答案 0 :(得分:3)

dcm4che项目有一个名为dcm4che-assembly的子项目,在父mvn install项目上运行dcm4che后,生成一个zip,用于组合所有可运行的工件,包括dcm2json

如果您对如何运行sh / bat脚本感到好奇,那么dcm4che-assembly就是您需要查看的地方。

实际上,这个zip程序集与你在二进制包中下载的相同。

希望它有所帮助!

答案 1 :(得分:0)

我对此也很好奇,所以我调查了一下。我没有得到最终答案,但我会发布到目前为止我发现的内容,希望它对其他人有用,并且可能是第一步答案。

似乎mvn install在它完成它之后,会在~/.m2中放入一大堆东西。那里的jar文件似乎没有像你期望的那样运行,并且基于dcm4che-assembly/src/bin中git repo中的文件,它们似乎需要一个包装才能正确运行。我对封装的初步玩弄似乎没有用 - 我得到如下错误:

Error: Could not find or load main class org.dcm4che3.tool.dcm2json.Dcm2Json

这些包装文件似乎真的想安装在某个地方(比如/usr/local/bin?),但它们似乎不是。

另一方面,more recent binaries are now available(目前通过3.3.7,而git是3.3.8-SNAPSHOT),我可以使用dcm2json工具在那些。有趣的是,该可执行文件也是一个包装器,几乎与git中的包装器完全相同。进一步调查它的工作原理以及它没有用的那个可能会导致dcm4dch3工具在安装后没有神奇地运行的原因。

当然,关键在于理解maven框架的工作原理。