appengine-java-standard
appengine-java-standard copied to clipboard
Duplicate classes across different artifacts from this repository
My automation found that there are duplicate classes between com.google.appengine:appengine-api-1.0-sdk and com.google.appengine:appengine-api-stubs and other artifacts.
Failing test due to duplicate classes found on classpath:
Duplicate class com.google.apphosting.base.protos.api.ApiBasePb found in classpath. Found in artifacts com.google.appengine:appengine-api-1.0-sdk:2.0.4 and com.google.appengine:appengine-api-stubs:2.0.4.
Duplicate class com.google.appengine.repackaged.com.google.storage.onestore.v3.proto2api.OnestoreEntity found in classpath. Found in artifacts com.google.appengine:appengine-api-1.0-sdk:2.0.4 and com.google.appengine:appengine-api-stubs:2.0.4.
Duplicate class com.google.appengine.repackaged.com.google.storage.onestore.v3.proto2api.OnestoreSnapshot found in classpath. Found in artifacts com.google.appengine:appengine-api-1.0-sdk:2.0.4 and com.google.appengine:appengine-api-stubs:2.0.4.
Duplicate class com.google.appengine.repackaged.com.google.storage.onestore.v3.proto2api.OnestoreAction found in classpath. Found in artifacts com.google.appengine:appengine-api-1.0-sdk:2.0.4 and com.google.appengine:appengine-api-stubs:2.0.4.
Duplicate class com.google.appengine.repackaged.org.apache.commons.logging.impl.Log4JLogger found in classpath. Found in artifacts com.google.appengine:appengine-api-1.0-sdk:2.0.4 and com.google.appengine:appengine-api-stubs:2.0.4.
Duplicate class com.google.appengine.repackaged.org.apache.commons.logging.impl.LogFactoryImpl found in classpath. Found in artifacts com.google.appengine:appengine-api-1.0-sdk:2.0.4 and com.google.appengine:appengine-api-stubs:2.0.4.
Duplicate class com.google.appengine.repackaged.org.apache.commons.logging.impl.LogKitLogger found in classpath. Found in artifacts com.google.appengine:appengine-api-1.0-sdk:2.0.4 and com.google.appengine:appengine-api-stubs:2.0.4.
Duplicate class com.google.appengine.repackaged.org.apache.commons.logging.impl.NoOpLog found in classpath. Found in artifacts com.google.appengine:appengine-api-1.0-sdk:2.0.4 and com.google.appengine:appengine-api-stubs:2.0.4.
Duplicate class com.google.appengine.repackaged.org.apache.commons.logging.impl.SimpleLog found in classpath. Found in artifacts com.google.appengine:appengine-api-1.0-sdk:2.0.4 and com.google.appengine:appengine-api-stubs:2.0.4.
Duplicate class com.google.appengine.repackaged.org.apache.commons.logging.impl.AvalonLogger found in classpath. Found in artifacts com.google.appengine:appengine-api-1.0-sdk:2.0.4 and com.google.appengine:appengine-api-stubs:2.0.4.
Duplicate class com.google.appengine.repackaged.org.apache.commons.logging.impl.Jdk14Logger found in classpath. Found in artifacts com.google.appengine:appengine-api-1.0-sdk:2.0.4 and com.google.appengine:appengine-api-stubs:2.0.4.
Duplicate class com.google.appengine.repackaged.org.apache.commons.logging.Log found in classpath. Found in artifacts com.google.appengine:appengine-api-1.0-sdk:2.0.4 and com.google.appengine:appengine-api-stubs:2.0.4.
Full output https://github.com/GoogleCloudPlatform/cloud-opensource-java/runs/6132396380?check_suite_focus=true
As long as the duplicate classes identical in users' environment, I don't expect they cause real issues. However, it's not ideal to have duplicate classes in different artifacts, because they would lead to complex dependency conflicts (NoSuchMethodErrors, NoClassDefFoundErrors) when users' environment has different versions of the duplicate classes.
So far the duplicate classes are not causing any problem to me. Sharing my observation here.
Not critical but looking at improving things there.
Thank you.
We are in good shape (not perfect) there and plan to keep it the way it is to avoid customer breakages