Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse Scala IDE和类路径_Eclipse_Git_Scala_Scala Ide_Sbteclipse - Fatal编程技术网

Eclipse Scala IDE和类路径

Eclipse Scala IDE和类路径,eclipse,git,scala,scala-ide,sbteclipse,Eclipse,Git,Scala,Scala Ide,Sbteclipse,我有一个Scala项目,我通过git在两台(windows)机器之间共享。我使用SBT和SBT eclipse设置它们,这样我就可以在eclipse中进行编辑和测试,或者从命令行进行构建和测试 不幸的是,我的用户名(因此,用户配置文件目录)在不同的机器上是不同的。这意味着,当sbt获取依赖项时,它会将它们放在两个平台上的不同基本目录中。这不会是一个问题,除非完整的路径名是从sbt eclipse硬编码到eclipse.classpath文件中的。这意味着,当我在“当前”机器上执行拉取操作时,我必

我有一个Scala项目,我通过git在两台(windows)机器之间共享。我使用SBT和SBT eclipse设置它们,这样我就可以在eclipse中进行编辑和测试,或者从命令行进行构建和测试

不幸的是,我的用户名(因此,用户配置文件目录)在不同的机器上是不同的。这意味着,当sbt获取依赖项时,它会将它们放在两个平台上的不同基本目录中。这不会是一个问题,除非完整的路径名是从sbt eclipse硬编码到eclipse.classpath文件中的。这意味着,当我在“当前”机器上执行拉取操作时,我必须重新运行“eclipse”任务


对于作为一个团队做这类事情的其他人来说,情况肯定更糟。这通常是如何处理的?我更愿意在任何机器上进行拉拽,即使是在eclipse中,也要立即开始

我强烈建议从git中删除eclipse sbt生成的文件(以及所有其他生成的文件)。每台机器都有自己的.classpath文件,该文件是在该机器上生成的,该文件是在该机器上为该机器生成的,并且可以在需要时重新生成。您的build.sbt项目文件应该是git格式的,因此当您在每台机器上运行时,它将具有更新的配置,并且只有当您有依赖项更改时才可以运行sbt eclipse


实际上,您应该始终避免在源代码管理中生成文件。在git项目中只包含重要的内容,并根据需要生成其余内容。

OK。这就解释了。我没有意识到这个问题,因为我总是(无论如何,在java项目上)只包含
.classpath
等文件。我假设
.project
文件仍然可以,对吗?我也不会包括.project。这两个都是由
sbt eclipse
命令生成的,因此,在git中使用它们没有任何价值(但如果存在冲突,这可能是不利的)。出于同样的原因,我也不会在java项目中包含这些文件,这意味着我真的需要改变在Scala项目中使用eclipse的方式。我不能再从git导入了,因为它不会包含一个完整的项目。我必须导入,转到命令行,执行
sbt eclipse
,然后刷新我的工作区。够了吗?哦,把
.classpath
.project
添加到我的
.gitignore
文件.Yep中。这是做事的正确方式。尽管在新工作站上设置项目时,从命令行运行一个命令应该不是什么大事;无论如何,您必须这样做才能让它下载依赖项jar。