我有一个Lift应用程序,我正在推动Heroku。我按照以下教程来设置我的项目。 - http://blog.heroku.com/archives/2011/10/3/scala/
当我执行git push heroku master
命令并且已经下载了所有依赖项时,我收到以下错误:
info] Done updating.
[info] Compiling 34 Scala sources to /tmp/build_3mu8dl4lcbqoj/target/scala-2.9.1/classes...
[error] /tmp/build_3mu8dl4lcbqoj/src/main/scala/code/models/Model.scala:97: CardAttribute is already defined as class CardAttribute
[error] class CardAttribute extends MongoRecord[CardAttribute]
[error] ^
该项目在本地编译得很好,所以我不确定它为什么说类/对象已经存在。这与heroku上传项目的方式有关吗?也许项目缓存导致问题?
答案 0 :(得分:0)
这有点晚了但也许这可以帮助其他人。
我遇到了同样的问题,我正在重构我的代码,然后我更改了一个包名,然后我试图推送到Heroku,由于重复的对象,它失败了。我的错误是我使用git add .
忽略了我的git版本上删除的文件:
警告:您运行的'git add'既没有'-A( - all)'或'--ignore-removal', 对于你删除的路径,其行为将在Git 2.0中发生变化。
像'app / .DS_Store'这样的路径 使用此版本的Git会忽略从工作树中删除的内容。
'git add --ignore-removal',这是当前的默认值, 忽略您从工作树中删除的路径。
'git add --all'会让你记录删除。
运行'git status'以检查从工作树中删除的路径。
解决方案是将Heroku设置为使用heroku config:set SBT_CLEAN=true
清除,然后放在git端git add . -A && git commit -m "message" && git push heroku master
。