# How to fix that testing exception
###### tags: `Documents-Summer21`
Are you trying to write your tests and getting this spooky red cryptic message:
```
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at tester.Tester.runAnyTests(Tester.java:180)
at tester.Tester.run(Tester.java:2390)
at sol.Homework#TestSuite.main(Homework#TestSuite.java:87)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private final byte[] java.lang.String.value accessible: module java.base does not "opens java.lang" to unnamed module @f6f4d33
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:177)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:171)
at tester.Reflector.getFields(Reflector.java:176)
at tester.Reflector.<init>(Reflector.java:47)
at tester.Inspector.isSamePrivate(Inspector.java:208)
at tester.Inspector.isSame(Inspector.java:88)
at tester.Tester.checkExpect(Tester.java:392)
at tester.Tester.checkExpect(Tester.java:378)
at sol.Homework#TestSuite.testSomething(Homework#TestSuite.java:36)
... 7 more
```
Turns out, the newly released Java 16 messes up our `tester.jar` (you can even find your error message in the [release issues/notes](https://www.oracle.com/java/technologies/javase/16-relnotes.html) for Java 16 and the bug report [here](https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8159746))
To fix this, we should use a different version of Java --- any version should be fine, as long as it doesn't say "version 16.0.1" beside it!!
## Installing a different Java version
1. Go to the menu `File > Project Structure` and select `Project` from the left sidebar, which should bring you to a window like this:

2. Click on the dropdown menu for **Project SDK** and see what options are available.
* If there are any that do NOT say `version 16.0.1`, select one of them.
* Otherwise, click `Add SDK > Download JDK...` and choose any version that does not say `version 16.0.1` in small letters next to it. I personally use 1.8, but it shouldn't matter.
*Adding an SDK*

*Note how the one chosen says 1.8.0_292 in small letters, NOT version 16.0.1!!*

3. Make sure you change the **Project language level** (dropdown right under the Project SDK) to match the Project SDK (note that language level 8 matches with SDK 1.8)
4. Select `Modules` from the left sidebar and change your Module SDK to match the one selected earlier!

And you're done! Hopefully everything runs now, but if not, feel free to make a post on Ed to let us know and we can get your problem fixed :D
---
*Please let us know if you find any mistakes, inconsistencies, or confusing language in this or any other CS18 document by filling out the (mostly) [anonymous feedback form](https://cs.brown.edu/courses/cs018/feedback)!*