IntelliJ IDEA 10.5 создает двоичные файлы JAR на разных компьютерах с, казалось бы, одинаковыми настройками (scala) - PullRequest
1 голос
/ 29 июня 2011

Я строю JAR из набора источников scala. У нас есть две физически идентичные win7 64-битные машины разработки, и недавно различие между машинами в библиотеках, на которые ссылается проект, вызвало некоторые проблемы в работе, поэтому мы искали способы, чтобы гарантировать, что мы получим точно такую ​​же сборку на две машины.

Компилятор scala и все внешние JAR-файлы теперь находятся под контролем версий, как и файлы проекта IntelliJ, которые хранятся с исходным кодом (project.iml и .idea *, за исключением .idea \ workspace.hml, поскольку он отслеживает состояние редактора и все время меняется). Файлы проекта были обновлены для ссылки на компилятор Scala, который теперь находится под контролем версий («Библиотеки» и «Грани» в настройках модуля).

Мы используем одну и ту же версию IntelliJ (10.5, построена 16 мая 2011 г.) и имеем тот же Java SDK (1.6.0_24, 64 бит).

Несмотря на синхронизацию наших настроек до такой степени, мы получаем немного разные JAR-файлы: 12 из 1685 файлов классов отличаются. Большинство различий «маленькие» («offsetX $ 4» в одном, против «offsetX $ 5» в другом), но некоторые более существенны.

IntelliJ хранит некоторую информацию о конфигурации в c: \ Users [имя пользователя] .IntelliJIdea10, но ее много, и неясно, какое влияние она может оказать на сборку.

Сборка повторяется на отдельных машинах (т. Е. Повторная сборка повторно генерирует один и тот же двоичный файл), но различается между ними.

Есть мысли о том, чего мне не хватает? Спасибо!

1 Ответ

1 голос
/ 04 июля 2011

Использование любой IDE для производственных сборок - плохая идея.Слишком сложно точно контролировать окружающую среду.Используйте муравьиные, мавенские, командные файлы или что-нибудь еще, в которых нет большого количества секретного соуса, который вы, вероятно, случайно перемешаете.Извините!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...