我不确定最好的标题是什么,所以如果有人有更好的建议,请开火。
我不确定我应该提供什么信息,所以我会告诉你发生了什么。
我有一些在 Eclipse 中通过良好的单元测试。在这些测试中,有一些 XML 正在针对自定义构建的 DTD(如果有人熟悉的话,稍微修改一下 Apelon DTS DTSConcept)进行验证。在 Eclipse 中,当我运行这些测试时,我可以在项目的目标路径中看到 dtds 出现。
因此,dir1/dir2/dtds/myDtd.dtd 存在于项目的目标路径中。
但是,如果我使用 maven (mvn clean test) 在命令行上运行单元测试,这些测试会因为 MalformedURLException 而失败。我能够摆脱 DTD 验证并且测试通过了,所以我知道这与此有关。在尝试了很多事情之后,无论出于何种原因,我都查看了项目的目标路径。现在,dir1/dir2/dtds/myDtd.dtd 不存在。这似乎就是我得到异常的原因——文件不存在。
我意识到这可能太模糊了,但是您能想到为什么我可能会在 Eclipse 中运行这些不同的结果而不是使用 Maven 命令行吗?
我会按要求提供更多信息,但我不确定具体包括什么。
感谢您的任何帮助。
编辑:好的,问题似乎在于 Maven 在构建时根本不会将 DTD 复制到目标目录。我可能会为此谷歌/问一个单独的问题,但我将如何确保 Maven 正确复制这些文件?