我有一个奇怪的问题,我猜它来自 git。在我正在尝试构建的项目中的一个 pom 中,调用了一些带有配置参数的源生成器${project.build.sourceDirectory}/../resources/config/variables.properties
(请注意 ../ 以访问某个上层目录)。一切都很好,直到我将 master 合并到分支。这是此模块的构建开始失败的时候
[ERROR] Failed to execute goal some.package.maven.plugins:runtime-configs-generator:1.1:generate (generate-runtime-config) on project runtime-configs: /home/user/development/workspace_primary/configs/runtime-configs/src/main/java/../resources/config/files.properties (No such file or directory) -> [Help 1]
我的设置:我在本地使用 git 和 dcommit 到远程 svn 存储库。
好像找不到文件了。奇怪的是,合并后文件的相关部分没有变化。
接下来我尝试使用 svn 进行合并,以确保文件与 git 合并完全相同。
然后,我将使用 git 进行的合并提交到 subversion 存储库,并使用 svn 进行了全新的签出。它构建没有问题。但是,当使用 git repo 时,我仍然会遇到同样的错误。
我试图删除本地 git 分支并从远程参考重新创建它。它仍然没有建立错误。首先,我认为这可能是我的终端/shell(带有 zshell 的终结器)的问题,相对路径有问题,但是为什么它在合并之前构建以及为什么它是从 svn checkout 而不是从 git 目录构建的?当我用类似的东西替换 pom.xml 中的相对路径时
${project.basedir}/src/main/resources/config/variables.properties
它也从 git 目录运行。谁能解释这种奇怪的行为,我很想了解我所缺少的。