2016-06-02 2 views
0

Я использую платформу Play для своего развития. Каждый раз, когда я компилирую, это занимает много времени. Вот то, что консоль выводит время компиляции:Play Время компиляции слишком велико

[info] Compiling 23 Scala sources and 2824 Java sources to E:\Project\Integrity_ Dev\target\scala-2.11\classes...

занимает не менее 45 минут для завершения сборки. Как я могу это уменьшить?

+1

Ну, есть несколько очевидных вопросов: java-источники не должны перекомпилировать каждый раз, когда вы компилируете весь проект. Я мог думать только о том, что вы изменяете весь исходный код или папку вывода в качестве причины для этого - или, возможно, сломанный компилятор. Но почему бы просто не упаковать java-sources в '.jar' и использовать их в качестве библиотеки, так как это они, по-видимому, есть. – Paul

+0

Вы убирали свой проект перед компиляцией? При использовании чистого активатора удаляются все источники компиляции. Таким образом, когда активатор скомпилирует, он скомпилирует все источники java и scala. – LES

+0

Спасибо @Paul за ваш ответ. Но я беспокоюсь за 3000 java-файлов, которые он потребляет 45 мин. Я верю, когда меняю в одном файле, он компилирует только один файл. Но для одного файла он потребляет от 3 до 5 мин. Где перед игрой мы использовали серверы, такие как JBoss, и строили такие инструменты, как Maven. Это не займет больше 5 минут для полного компиляции. Итак, есть ли какой-либо оптимизирующий способ сократить время компиляции до завершения. – mani

ответ

1

В общем, наиболее вероятной причиной этого является то, что вы случайно очищаете каталог build для java-файлов каждый раз, когда вы перекомпилируете свой проект. Вы должны проверить build-script/configuration вашего проекта.

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

Если вы предпочитаете, вы можете построить .jar из .class-файлов и включить его в свой проект. Существует множество возможностей для создания файлов .jar, включая maven, ant, любую IDE, которую вы используете, и т. Д. Наиболее общим было бы создание их через commandline.

Простейший способ решить это, вероятно, будет maven-build, хотя он напрямую извлекает файлы и создает их.

Смежные вопросы