Skip to content

docs: Add troubleshooting section #1808

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 28, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,33 @@ Check the corresponding driver's READMEs to know the list of capabilities and fe
You could find much more code examples by checking client's
[unit and integration tests](src/test/java/io/appium/java_client).

## Troubleshooting

### InaccessibleObjectException is thrown in runtime if Java 16+ is used

Appium Java client uses reflective access to private members of other modules
to ensure proper functionality of several features, like Page Object model.
If you get a runtime exception and `InaccessibleObjectException` is present in
the stacktrace, and your Java runtime is at version 16 or higher, then consider following
[Oracle's tutorial](https://docs.oracle.com/en/java/javase/16/migrate/migrating-jdk-8-later-jdk-releases.html#GUID-7BB28E4D-99B3-4078-BDC4-FC24180CE82B)
and/or checking [existing issues](https://github.com/appium/java-client/search?q=InaccessibleObjectException&type=issues)
for possible solutions. Basically, the idea there would be to explicitly allow
access for particular modules using `--add-exports/--add-opens` command line arguments.

Another possible, but weakly advised solution, would be to downgrade Java to
version 15 or lower.

### Issues related to environment variables presence or to their values

Such issues are usually the case when Appium server is started directly from your
framework code rather than run separately by a script or manually. Depending
on the way the server process is started it may or may not inherit the currently
active shell environment. That is why you may still receive errors about variables
presence even though these variables ar actually defined for your command line interpreter.
Again, there is no universal solution to that, as there are many ways to spin up a new
server process. Consider checking the [Appium Environment Troubleshooting](docs/environment.md)
document for more information on how to debug and fix process environment issues.

## Changelog
*8.2.1*
- **[ENHANCEMENTS]**
Expand Down
91 changes: 0 additions & 91 deletions docs/Installing-the-project.md

This file was deleted.