当前位置: 首页 > 面试题库 >

对于不同的开发人员,在POM文件中使用Groovy进行定界符切换的工作方式有所不同

周和歌
2023-03-14
问题内容

我们在POM文件中使用了一小段Groovy代码,用正斜杠定界符替换主基本目录中的反斜杠定界符。有关此的更多信息,请参见此文章:如何在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,'/');

而不是手动解码文件分隔符。



 类似资料:
  • 问题内容: 我想将日期字符串转换为javascript,请使用以下代码: 是服务器中JSON对象中的UTC时间。 但是以上代码的结果在Firefox和Chrome之间是不同的: Firefox返回: Chrome返回: 1天不一样,我期望的正确结果是Chrome的结果。 如何解决此问题,以便从两者获得相同的结果? 问题答案: UTC的正确格式为(Z为祖鲁时间)。如果不存在,则追加以获取正确的UTC

  • 问题内容: 我有一个带有序列ID的postgres表。 插入通常发生在Web应用程序中。 我手动插入了两个新记录,将id设置为max(id)+1 **** 在这2次插入之后,当Web应用程序插入2条记录时,它会给出重复的键错误。 仅用于2条记录。之后,一切正常。 问题是-为什么我的手动插入没有增加序列号? 自动递增和串行是否不同? 我在这里想念什么?MySQL或任何其他SQL是否存在相同的问题?

  • 开发人员希望为他们的单元测试创建BDD风格的测试(使用SpecFlow),而我们的测试团队需要一些地方来放置自动化的web UI测试(使用Selenium)以及web服务集成测试。 因此,问题是:在测试人员和开发人员的测试之间共享相同的对象是否更好,或者将这两个世界分开是否可以得到更好的测试管理? 对于我们的测试人员来说,SpecFlow似乎不是一个完美的解决方案(Robot framework或

  • 问题内容: 在Go中,如果我有一个字符串变量s: 我如何将其转换或拆分或爆炸为切片或字符串数​​组,以使其变为: 问题答案: 您应该使用该软件包。 http://play.golang.org/p/UKZbcuJUPP

  • 我正在尝试模块化我的应用程序分离路由,但唯一有效的是根路由,我不知道我的代码有什么问题,在阅读快速路由后,我的代码似乎写得正确 app.js index.js 登录名。js公司 如您所见,login.js和index.js的代码几乎相同,但是 /login路由不起作用。出现消息: 错误:未能查找视图错误在视图目录/home/cesar/Documentos/node/clazapp2/视图node

  • 我们使用PyCharm作为一个项目的Python IDE。开发人员使用不同类型的OS设置,例如,python路径对我们中的一些人来说是不一样的(有些人将本地解释器存储在不同的位置或远程解释器)。 不幸的是,python解释器路径存储在.idea PyCharm项目文件夹(.iml文件)中。然后在与Mercurial合并分支时导致冲突或python路径重写。 注意:有一个有趣的SO问题(跨多个操作系