2016-09-21 3 views
0

Новичка в Intellij IDE здесь, без фона Java. Я просмотрел Build Definition, чтобы получить краткое представление о том, как мне организовать свои файлы scala, но их пример не охватывает полную структуру проекта на основе SBT, показанного в приложении.Организация файлов в проекте scala на основе SBT

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

спасибо Project structure

ответ

4

Это описывается довольно хорошо здесь: http://www.scala-sbt.org/0.13.5/docs/Getting-Started/Directories.html

Но подводить итоги.

.idea: Этот файл содержит файлы проекта для вашего проекта идеи и не имеет ничего общего с самим sbt. Однако идея (если включено автоматическое обновление) обновляет свой собственный проект, каждый раз, когда файлы сборки sbt меняются.

Проект: В нем содержатся файлы проекта sbt, execpt для основного файла сборки (файлы, заканчивающиеся на sbt). Sbt builds сам по себе основан на scala, и если вам нужно иметь некоторый scala-код, включенный в вашу сборку, тогда вы можете разместить исходные файлы scala в этом каталоге. Код этих файлов может использоваться в вашей системе сборки и не является частью вашего проекта. Чтобы понять, как создается сборка, вам нужно понять разницу в том, как должны быть размещены файлы sbt и файлы scala для сборки. Когда вы запустите sbt, он будет искать файлы .sbt в каталоге, в котором вы находитесь, когда они будут найдены, он будет искать файлы scala в каталоге проекта. Эти файлы вместе являются источником системы сборки, но поскольку это исходные файлы, они должны быть созданы до их использования. Чтобы построить эту систему сборки, sbt использует sbt. Поэтому необходима система сборки для построения системы сборки. Поэтому он ищет файлы sbt внутри dir проекта и файлы scala для этой сборки внутри проекта/проекта и создает эти файлы для создания системы сборки, которая может построить систему сборки (которая может построить ваш проект). Фактически, он может продолжать рекурсию вплоть до любого проекта/проекта/p ... dir, пока не найдет папку проекта, не содержащую файлов scala, и поэтому не нуждается в создании перед использованием.

Целевая папка внутри проекта - это целевая папка для сборки сборки sbt. Ниже приведена целевая папка.

Обычно вам не нужно беспокоиться об этом, но просто помните, что build.sbt в корневом каталоге является скриптом сборки для вашего проекта. project/plugins.sbt определяет плагины, активированные для вашей системы сборки, а project/build.properties содержит свойства specil sbt. В настоящее время единственная собственность sbt, которую я сейчас, - это какая версия sbt должна использоваться.

src: Здесь вы поместите исходные файлы своего проекта. Вы должны разместить любые источники java в src/main/java, scala-источниках в src/main/scala. Ресурсы размещаются в src/main/resources.

Обычно используется папка src/main/scala_2.11, если у вас есть код, который не является бинарным, совместимым с различными версиями scala. В таких случаях вы сможете настроить sbt для использования разных исходных файлов при создании для разных версий scala. Вам это не нужно, поэтому я бы посоветовал просто удалить папку src/main/scala_2.11.

Источники тестов размещены внутри src/test/java и source/test/scala, а тестовые ресурсы размещены в src/test/resources.

target Эта папка является целевой папкой для sbt. Все скомпилированные файлы, созданные пакеты и т. Д. Помещаются где-то внутри этого каталога.

Большинство вещей в этом каталоге обычно не так интересно, так как большинство из них - это просто внутренние вещи sbt. Однако если вы создадите файл jar, вызвав sbt package, он будет помещен внутри target/scala-x (где x - версия scala). Существует также множество различных плагинов, которые могут поместить ваше приложение по-разному, и они, как правило, также будут размещать файлы пакетов где-то внутри целевого каталога.

+0

Большое спасибо за это – beginner

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