Switch from cglib to byte-buddy
Open
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.3k
- Forks
- 752
- Avg merge
- 6d 21h
- Merged PRs (30d)
- 8
Description
Description
After launching the first instance of the Appium driver, I get the following warning:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by net.sf.cglib.core.ReflectUtils$1 (file:/Users/aaron.schwieterman/.m2/repository/cglib/cglib/3.3.0/cglib-3.3.0.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of net.sf.cglib.core.ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
It seems like the best solution to avoid this warning would be to replace cglib with byte-buddy based on this issue.
Environment
- Java client build version or git revision if you use some snapshot: v7.5.0
- Java version: v15.0.2
- Appium server version or git revision if you use some snapshot: v1.20.2
- Desktop OS/version used to run Appium if necessary: macOS Big Sur v11.2.3
- Node.js version (unless using Appium.app|exe) or Appium CLI or Appium.app|exe: Appium.app v1.20.2
- Mobile platform/version under test: Android v11
- Real device or emulator/simulator: Real device
Code To Reproduce Issue
driver = new AndroidDriver<>(new URL(url), desiredCapabilities);
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the project's dependency declarations and every use of cglib, then reproduce the warning with Java 15 and the AndroidDriver entry point shown in the issue. The change is complete when cglib is replaced with byte-buddy, the driver starts without the illegal reflective access warning, and the existing test suite passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java
- Domain
- mobile
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 32/100