好的,我在创建 jib docker 映像时遇到了链接问题。我将我想要的文件复制到容器中
jib {
allowInsecureRegistries = true
extraDirectories{
paths{
path{
from = file('jnetpcap/jib')
into = '/native'
}
}
}
.
.
.
在其他任务中,我指向那些库
task cmdScript(type: CreateStartScripts) {
mainClassName = "cic.cs.unb.ca.ifm.Cmd"
applicationName = "cfm"
outputDir = new File(project.buildDir, 'scripts')
classpath = jar.outputs.files + project.configurations.runtime
defaultJvmOpts = ["-Djava.library.path=/native"]
}
我检查了,这些库已正确添加到容器中。复制库不是问题,而是设置链接器。
如果我使用 distTar 构建项目,cmdScript 会设置正确的链接器,但是在使用 jibDockerBuild 构建项目时我不知道如何设置链接器。我在这里找不到我的问题的答案,所以决定就 SO 寻求帮助。
更新
我在这里找到了一些线索。我已经通过添加更新了我的 jib 任务
jib {
allowInsecureRegistries = true
extraDirectories{
paths{
path{
from = file('jnetpcap/jib')
into = '/native'
}
}
}
container.jvmFlags = ["-Djava.library.path=/native/*"]
但我不断收到同样的错误。
错误信息是
exception in thread main java.lang.unsatisfiedlinkerror 'long com.slytechs.library.NativeLibrary.dlopen(java.lang.String)'