Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.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
Windows IntelliJ IDEA 10.5在不同的机器上以看似相同的设置生产二进制不同的JAR(scala)_Windows_Scala_Jar_Intellij Idea - Fatal编程技术网

Windows IntelliJ IDEA 10.5在不同的机器上以看似相同的设置生产二进制不同的JAR(scala)

Windows IntelliJ IDEA 10.5在不同的机器上以看似相同的设置生产二进制不同的JAR(scala),windows,scala,jar,intellij-idea,Windows,Scala,Jar,Intellij Idea,我正在从一组scala源代码构建一个JAR。我们有两台物理上完全相同的win7 64位开发机器,最近,项目引用的库JAR中的机器之间的差异导致了生产中的一些问题,因此我们一直在研究如何确保在这两台机器上获得完全相同的构建 scala编译器和所有外部JAR现在都处于版本控制之下,与源代码一起存储的IntelliJ项目文件(project.iml和.idea*,但.idea\workspace.hml除外,因为它一直跟踪编辑器状态和更改)。项目文件已经更新,以引用现在处于版本控制下的scala编译器

我正在从一组scala源代码构建一个JAR。我们有两台物理上完全相同的win7 64位开发机器,最近,项目引用的库JAR中的机器之间的差异导致了生产中的一些问题,因此我们一直在研究如何确保在这两台机器上获得完全相同的构建

scala编译器和所有外部JAR现在都处于版本控制之下,与源代码一起存储的IntelliJ项目文件(project.iml和.idea*,但.idea\workspace.hml除外,因为它一直跟踪编辑器状态和更改)。项目文件已经更新,以引用现在处于版本控制下的scala编译器(模块设置下的“库”和“面”)

我们使用的是同一版本的IntelliJ(10.5,于2011年5月16日构建),并拥有相同的Java SDK(1.6.0_24,64位)

尽管将我们的设置同步到这种程度,但我们得到的JAR略有不同:1685个类文件中有12个是不同的。大多数差异都是“小的”(“一种为抵销4美元,另一种为抵销5美元”),但有些差异更大

IntelliJ确实在c:\Users[username].IntelliJIdea10中存储了一些配置信息,但是有很多配置信息,而且还不清楚它对构建有什么影响

构建可以在单独的机器上重复(即,重建重新生成相同的二进制文件),但它们之间有所不同


有没有想过我可能会错过什么?谢谢

在生产构建中使用任何IDE都不是一个好主意。精确控制环境太难了。使用ant或maven或命令文件,或任何其他没有太多秘密调料的文件,这些文件可能会意外地搅动你。对不起

在生产构建中使用任何IDE都不是一个好主意。精确控制环境太难了。使用ant或maven或命令文件,或任何其他没有太多秘密调料的文件,这些文件可能会意外地搅动你。对不起

为什么依赖二进制构建的标识?不知何故,我认为这是个坏主意。如果您需要一些参考构建,请使用创建该构建的构建服务器。您是否尝试使用sbt插件构建——为fsc demon设置该配置想法会更简单,并且具有相同的优点(更快的增量编译)它们使用相同的Scala插件吗?可能是由于表示编译器的不同用法。而是从构建服务器(Hudson/Jenkins)构建,IMHO。为什么依赖二进制构建的标识?不知何故,我认为这是个坏主意。如果您需要一些参考构建,请使用创建该构建的构建服务器。您是否尝试使用sbt插件构建——为fsc demon设置该配置想法会更简单,并且具有相同的优点(更快的增量编译)它们使用相同的Scala插件吗?可能是由于表示编译器的不同用法。从构建服务器(Hudson/Jenkins)构建,而不是IMHO。