问题
Saxon doesn't seem to be where gradle
is trying to send it:
Not Found
For request 'GET /artifact/net/sf/saxon/saxon-HE/9.9.0-2/saxon-HE-9.9.0-2.pom'
The actual URL
is, or looks to be, ../artifact/net.sf.saxon/..
rather than ..artifact/net/saxon..
which causes a problem.
How do I tell the kotlin-gradle-dsl
, specifically, which repo to look in and how to look in that repo?
kotlin build file:
// https://mvnrepository.com/artifact/net.sf.saxon/Saxon-HE
compile group: 'net.sf.saxon', name: 'Saxon-HE', version: '9.9.0-2'
/*
* This file was generated by the Gradle 'init' task.
*
* This generated file contains a sample Java project to get you started.
* For more details take a look at the Java Quickstart chapter in the Gradle
* user guide available at https://docs.gradle.org/5.0/userguide/tutorial_java_projects.html
*/
plugins {
// Apply the java plugin to add support for Java
java
// Apply the application plugin to add support for building an application
application
}
repositories {
// Use jcenter for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
mavenCentral()
maven {
setUrl("https://mvnrepository.com/artifact/")
}
maven {
setUrl("http://repo.spring.io/plugins-release/")
}
}
dependencies {
// This dependency is found on compile classpath of this component and consumers.
implementation("com.google.guava:guava:26.0-jre")
compile (group = "org.ccil.cowan.tagsoup" , name = "tagsoup" , version = "1.2.1")
compile (group = "net.sf.saxon" , name = "saxon-HE" , version = "9.9.0-2")
// Use TestNG framework, also requires calling test.useTestNG() below
testImplementation("org.testng:testng:6.14.3")
}
application {
// Define the main class for the application
mainClassName = "helloWorldSaxon.App"
}
val test by tasks.getting(Test::class) {
// Use TestNG for unit tests
useTestNG()
}
Executing: gradle clean build
Arguments: [-c, /home/thufir/NetBeansProjects/helloWorldSaxon/settings.gradle.kts]
> Task :clean UP-TO-DATE
> Task :compileJava FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileJava'.
> Could not resolve all files for configuration ':compileClasspath'.
> Could not find net.sf.saxon:saxon-HE:9.9.0-2.
Searched in the following locations:
- https://jcenter.bintray.com/net/sf/saxon/saxon-HE/9.9.0-2/saxon-HE-9.9.0-2.pom
- https://jcenter.bintray.com/net/sf/saxon/saxon-HE/9.9.0-2/saxon-HE-9.9.0-2.jar
- https://repo.maven.apache.org/maven2/net/sf/saxon/saxon-HE/9.9.0-2/saxon-HE-9.9.0-2.pom
- https://repo.maven.apache.org/maven2/net/sf/saxon/saxon-HE/9.9.0-2/saxon-HE-9.9.0-2.jar
- https://mvnrepository.com/artifact/net/sf/saxon/saxon-HE/9.9.0-2/saxon-HE-9.9.0-2.pom
- https://mvnrepository.com/artifact/net/sf/saxon/saxon-HE/9.9.0-2/saxon-HE-9.9.0-2.jar
- http://repo.spring.io/plugins-release/net/sf/saxon/saxon-HE/9.9.0-2/saxon-HE-9.9.0-2.pom
- http://repo.spring.io/plugins-release/net/sf/saxon/saxon-HE/9.9.0-2/saxon-HE-9.9.0-2.jar
Required by:
project :
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 8s
2 actionable tasks: 1 executed, 1 up-to-date
Build failure (see the Notifications window for stacktrace): gradle clean build
回答1:
You have a type in the name artifact, instead of
compile (group = "net.sf.saxon" , name = "saxon-HE" , version = "9.9.0-2")
It should be
compile (group = "net.sf.saxon" , name = "Saxon-HE" , version = "9.9.0-2")
来源:https://stackoverflow.com/questions/54021502/gradle-kotlin-could-not-find-net-sf-saxonsaxon-he9-9-0-2