我正在努力从构建中的二进制“dup”步骤中剔除不必要的输出。
当我运行./pants binary <target>
时,META-INF/services
有很多重复的实例:
Duplicate classes and/or resources detected in artifacts: ('com.sun.jersey-jersey-servlet-1.19.jar', 'net.kencochrane.raven-raven-6.0.0.jar', 'org.glassfish.web-javax.servlet.jsp-2.3.2.jar')
META-INF/services/javax.servlet.ServletContainerInitializer
有许多这些,他们是预期的。创建二进制文件的逻辑将这些服务文件合并在一起。
--binary-dup-exclude
的格式是没有目录的文件名列表。这些都共享一个公共目录前缀,但文件名不同。有没有办法在dup步骤中禁止这些警告而不单独列出每个警告?
这是我目前的配置:
[binary.dup]
excludes: [
# Lots of crap from META-INF that gets duped.
'dependencies','license','notice','.DS_Store','notice.txt','cmdline.arg.info.txt.1','license.txt',
'readme.txt','README.txt','readme.md','BCKEY.DSA', 'BCKEY.SF', 'ASL2.0', 'about.html',
'jersey-module-version', 'eclipse.inf', 'asm-license.txt',
'pom.xml', 'pom.properties', 'INDEX.LIST',
# We have many copies of env.yaml and app-manifest.yaml in the same place on the classpath
'env.yaml', 'app-manifest.yaml',
# com/sun/jersey/core/header/LanguageTag.class is intentionally overridden in service container to fix a bug in jersey
'LanguageTag.class'
]