GoogleCloudPlatform / GoogleCloudPlatform/cloud-opensource-java
False Negative in Duplicate Class Files appearing in one or more JAR files
- 主要語言
- Java
- 星號
- 163
- 分支
- 80
- PR 合併指標
- 30 天內沒有已合併 PR
描述
While investigating #1401 , I noticed that there might be a false negative in Linkage Checker.
In attempt to fix the bug (https://github.com/GoogleCloudPlatform/cloud-opensource-java/commit/def9c4ac25304685058630cc79c607bd56479acc), it generated more errors in our BOM dashboard than currently shown in master. Such as

The class path has two JARs that has `javax.mail.internet.InternetHeaders`.
- In the class path com.google.appengine:appengine-api-1.0-sdk:1.9.71 comes before javax.mail:mail:1.4.3.
- com.google.appengine:appengine-api-1.0-sdk:1.9.71 has `javax.mail.internet.InternetHeaders$InternetHeader`.
- javax.mail:mail:1.4.3 has javax.mail.internet.InternetHeaders. Its inner class `javax.mail.internet.InternetHeaders$matchEnum` references `javax.mail.internet.InternetHeaders$InternetHeader`'s field line
### Javap
appengine-api-1.0-sdk-1.9.71.jar's InternetHeaders does not have line field
```
suztomo-macbookpro44% javap -v -cp /Users/suztomo/.m2/repository/com/google/appengine/
appengine-api-1.0-sdk/1.9.71/appengine-api-1.0-sdk-1.9.71.jar javax/mail/internet/InternetHeaders
|grep line |grep '#'
#115 = Utf8 line
```
mail-1.4.3's `InternetHeaders$matchEnum` references the missing field.
```
suztomo-macbookpro44% javap -v -cp /Users/suztomo/.m2/repository/javax/mail/mail/1.4.3/mail-
1.4.3.jar 'javax/mail/internet/InternetHeaders$matchEnum' |grep line |grep '#'
#6 = Fieldref #21.#65 // javax/mail/internet/InternetHeaders$matchEnum.want_line:Z
#12 = Fieldref #19.#71 // javax/mail/internet/InternetHeaders$InternetHeader.line:Ljava/lang/String;
```
貢獻指南
評估
這個 Issue 還沒有評估資料。