我们在POM文件中使用了一小段Groovy代码,用正斜杠定界符替换主基本目录中的反斜杠定界符.
有关此的更多信息,请参见此帖子:How to convert file separator in maven
但是,我们遇到的问题是,从该链接建议的常规在一台开发人员机器上工作正常,而在另一台开发人员机器上却行不通.
对于第一个开发人员有效的是:(链接文章中提到的代码)
pom.properties['main.basedir']=project.basedir.absolutePath.replace('\\','/');
以下是适用于其他开发人员的内容:
pom.properties['main.basedir']=project.basedir.absolutePath.replace('\','/');
(请注意单个反斜杠)
第二个开发人员在使用双反斜杠时看到的错误是:
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:15.096s
[INFO] Finished at: Tue Sep 03 16:54:18 BST 2013
[INFO] Final Memory: 36M/298M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.gmaven:gmaven-plugin:1.5:execute (setproperty) on project bonus-wallet-amq-tests: startup failed, script1378223658221.groovy: 1: expecting ''', found '<EOF>' @ line 1, column 79.
[ERROR] 1 error
我们无法弄清楚为什么第二个开发人员只需要一个反斜杠.
两位开发人员都在使用Eclipse Juno,Java 1.6 Update 45,并且groovy的版本必须与在POM文件中定义为依赖项的版本相同. (版本1.6.9)
我们发现的唯一发现是Maven的版本不同.开发人员1的版本为3.0.3,而开发人员2的版本为3.0.5.但是,我们一直找不到与此相关的任何文档.
任何帮助将是最有益的.
解决方法:
您应该按以下方式更改代码:
pom.properties [‘main.basedir’] =
project.basedir.absolutePath.replace(File.separator,’/’);
而不是手动解码文件分隔符.
原文地址:https://codeday.me/bug/20191122/2062745.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。