Generally speaking, if in Tools > Preferences... > Database > Advanced you tick the checkbox Use OCI/Thick driver, then SQL Developer expects to find an Oracle full or instant client home directory named in the PATH variable. Since SQL Developer 4.2 and 17.2 both ship with an Oracle 12.2 JDBC Driver, they look for an ocijdbc12.dll.
However, there is a special case where the OCI/Thick driver is required: if you try to use a TNS connect identifier. If you just use TNS network alias, the Thin driver works fine, however.
What does it mean, and how do I fix it: trying to create a (TNS) connection in SQLDEVELOPER,I get “no ocijdbc12 in java.library.path”?
Why not just use the thin driver?
It doesn't require an Oracle client.
Do you REALLY have a use case that requires a TNS connection?