Может кто-то давать мне простой build.gradle пример того, как я могу указать единственные временем компиляции классы, которые не включены в развертывание во время выполнения (война).
Gradle, кажется, получил это неправильный путь вокруг, так как 'время выполнения' наследовалось 'компиляции'. Я не могу вообразить ситуацию, где я хотел бы классы во времени выполнения, которое я не захочу во время компиляции. Однако существует много обстоятельств, где мне нужны классы, чтобы сгенерировать код во время компиляции, что я не хочу развертываться во времени выполнения!
Я уложил через чрезмерно увеличенную в размерах gradle документацию, но не могу найти четкие указания или примеры. Я подозреваю, что это могло бы быть достигнуто путем определения 'конфигурации' и установки ее как пути к классу плагина CompileJava - но документация терпит неудачу в отношении объяснения, как достигнуть этого.
В Gradle 2.12 compileOnly
была представлена конфигурация. Сообщение в блоге, представляющее это, показывает, может быть найден здесь:
Gradle последняя функция: Скомпилируйте только зависимости
знать об одном важном побочном эффекте:
В результате добавления “compileOnly” конфигурации, “compile” конфигурация больше не представляет полное изображение всех зависимостей времени компиляции. При необходимости сослаться на путь к классу компиляции в сценариях сборки или пользовательских плагинах, соответствующее исходное свойство set’s compileClasspath должно использоваться вместо этого.