В Gradle конфигурация представляет собой группу артефактов и их зависимости. Обычно у вас есть несколько конфигураций в зависимости от того, что вы хотите делать. Например, у вас может быть такой, в котором вы объявляете, какие зависимости необходимы для компиляции, какие нужны только во время выполнения или которые необходимы для запуска конкретного приложения Java.
В вашем случае вы говорите что путь к классу XmlToJavaParser
- это «все конфигурации вместе», и это не имеет смысла. Вам также не разрешено это делать, поскольку некоторые конфигурации из плагина Java нельзя разрешить таким образом, поэтому вы получаете сообщение об ошибке.
Итак, чтобы исправить это, вы должны объявить свою собственную конфигурацию для XmlToJavaParser
. Затем вы можете объявить для него зависимости, как обычно. Пример (с использованием Groovy DSL):
configurations {
xmlJavaParser {
canBeResolved = true
canBeConsumed = false
}
}
dependencies {
xmlJavaParser "org.example:xml-java-parser:1.0" // or whatever you need
}
private runJavaFile(String dirPath) {
// ...
javaexec {
classpath = configurations.xmlJavaParser // The configuration is referenced here
main = 'XmlToJavaParser'
args = ["$xmlfile", "$javaFile", 'Java']
}
}
Есть и другие способы go об этом. Но главное - не использовать configurations.all
в качестве пути к классам.