В Gradle сценария сборки Я следующий фрагмент кода:Разница между выполнением и компиляцией группой
dependencies {
runtime group: 'org.springframework', name: 'spring-core', version: '4.1.1'
}
и она отлично работает, но если я изменить его на
dependencies {
compile group: 'org.springframework', name: 'spring-core', version: '4.1.1'
}
исключение, будут выброшены во время gradle build
Could not resolve all dependencies for configuration ':compile'.
> Could not find org.springframework:spring-core:4.1.1.
Searched in the following locations:
https://repo1.maven.org/maven2/org/springframework/spring-core/4.1.1/sprin
g-core-4.1.1.pom
https://repo1.maven.org/maven2/org/springframework/spring-core/4.1.1/sprin
g-core-4.1.1.jar
Я думал, что артефакт на поиск в том же месте для обоих компе ile и время выполнения. Каковы различия между ними?
Да, это работает. Спасибо –
Хммм. Похоже, @ Dónal снял свой ответ. IIRC только его руководство было ... Если ваш код содержит оператор импорта, который ссылается на класс, найденный в зависимости, тогда вы должны использовать 'compile'. В противном случае вы должны использовать 'runtime'. – BalRog
Хорошим примером этого будет наличие библиотеки Java в качестве зависимости от компиляции и ее реализации в качестве зависимости от времени выполнения. 'compile 'javax.ws.rs: javax.ws.rs-api: 2.0.1'' и' runtime' org.glassfish.jersey.core: jersey-client: 2.22.1'' для клиента REST в качестве примера , – Powerlord