gpt4 book ai didi

gradle - Gradle从包含的jar list 中提取依赖项

转载 作者:行者123 更新时间:2023-12-03 05:37:12 25 4
gpt4 key购买 nike

我在本地安装了weblogic 10.3.6。我通常在eclipse项目的类路径中添加wlserver_10.3\server\lib\weblogic.jar,它将所有其他weblogic运行时jar从weblogic.jar的MANIFEST.MF文件带到类路径中。

请参阅显示MANIFEST.MF内容的图像。
content of MANIFEST.MF

当我将weblogic jar添加为平面目录依赖项时,我的问题是gradle项目。

weblogic.jar gradle dependency

它仅将weblogic.jar拉到类路径,但不尊重它的MANIFEST.MF,并且不带所有其他jar。

gradle中有什么标准方法可以从包含的jar的MANIFEST.MF中提取依赖项?

最佳答案

没有标准的方法,但是可以采用解决方法。您可以定义一个方法,该方法读取weblogic.jar list 文件的类路径并返回可在依赖项中使用的文件列表。

// Method to return files mentioned in manifest file
import java.util.jar.Attributes;
def getWeblogicDependencyFiles() {

def fileList = []
def weblogicJarDir = '/path/to/webLogic/folder/10.3.6/wlserver_10.3/server/lib'
def classPathJars = new java.util.jar.JarFile(weblogicJarDir+'/weblogic.jar').manifest.mainAttributes.get(Attributes.Name.CLASS_PATH).split(' ')
for(String jarName : classPathJars) {
if("".equals(jarName.trim())) {
continue;
}
fileList.add(file(weblogicJarDir+'/'+jarName))
}

return fileList
}

接下来将此方法的输出分配给变量
// Make te output available to project
project.ext.weblogicDependencyFiles = getWeblogicDependencyFiles();

现在,您可以将这些文件用作项目中的依赖项
// Dependency
dependencies {
compile files(weblogicDependencyFiles)
}

同样,这只是一种解决方法。更好的方法是从中央存储库定义依赖关系。

关于gradle - Gradle从包含的jar list 中提取依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55242718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com