我想在gradle中本地包含jar文件,我已经创建了一个libs文件夹,并在那里添加了jar。jars被添加到类路径中,但我无法访问api。
我的build.gradle:
plugins {
id 'java'
id 'io.github.lhotari.gradle-nar-plugin' version '0.5.1'
}
group 'com.acs.contentlake.nifi'
version '1.0'
repositories {
mavenCentral()
gradlePluginPortal()
maven {
url("https://mvnrepository.com/artifact/apache-xerces/resolver")
}
flatDir {
dirs 'libs'
}
}
compileJava{
sourceCompatibility('8')
targetCompatibility('8')
}
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
implementation group: 'org.apache.nifi', name: 'nifi-api', version: '1.15.0'
implementation group: 'org.apache.nifi', name: 'nifi-utils', version: '1.15.0'
// implementation group: 'net.sf.saxon', name: 'Saxon-HE', version: '10.6'
implementation group: 'xerces', name: 'xercesImpl', version: '2.9.1'
implementation group: 'apache-xerces', name: 'resolver', version: '2.9.1'
implementation 'org.codehaus.groovy:groovy-all:3.0.8'
// implementation files('libs/saxon-ee-10.6.jar', 'icu4j-59.1.jar', 'jline-2.14.6.jar', 'saxon-ee-test-10.6.jar', 'saxon-sql-10.6.jar')
// implementation fileTree(dir: 'libs', include: ['*.jar'])
// implementation name: 'saxon-ee-10.6'
implementation fileTree(include: ['*.jar'], dir: './libs/SaxonEE10-6J')
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.apache.nifi:nifi-mock:1.15.0'
}
test {
useJUnitPlatform()
}我想使用萨克森-EE罐子,这是不可用的任何网络回购。
我不能进口
import net.sf.saxon.s9api.*;如果我使用Saxon-HE,那么它运行的很好,但是我想使用任何web上都无法使用的授权版本。
发布于 2022-03-31 13:08:31
据猜测,fileTree(include: ['*.jar'], dir: './libs/SaxonEE10-6J')并没有做你认为的事情。在此,我通常尝试调试Gradle文件,创建一个打印类路径的"helloWorld“任务:
// Testing task for various Gradle debugging efforts
task helloWorld() {
doLast {
/*
configurations.jsbuild.resolve().each { path ->
println(path)
}
*/
println("Hello, world.")
}
}(其中必须取消对行的注释,并将jsbuild替换为从implementation派生的本地配置。我不认为您可以直接访问implementation类路径,因为我怀疑我是否完全理解)。
然而,我可以让这一切对你来说更容易。将其添加到repositories闭包中:
maven { url "https://dev.saxonica.com/maven" }然后您可以使用Maven加载EE:
implementation 'com.saxonica:Saxon-EE:10.6'https://stackoverflow.com/questions/71690361
复制相似问题