> Copy the Substance jar file to your jdk's lib and/or
> jre/lib/ext folder
This is a very questionable practice. While it may help you in the short term (not messing with the class path), in the long run it's quite harmful, especially on upgrades (of Substance) and distribution (to users machines). Not to speak about running under different JDKs / JREs.
> This is a very questionable practice. While it may help you in the short term
> (not messing with the class path), in the long run it's quite harmful, especially
> on upgrades (of Substance) and distribution (to users machines). Not to
> speak about running under different JDKs / JREs.
Indeed. The proper way to do this now is to put it in:
* Solaris: /usr/jdk/packages/lib/ext
* Linux: /usr/java/packages/lib/ext
* Windows: %SystemRoot%\Sun\Java\lib\ext
This way when you install the next update of Java 6 it will still work.
> Indeed. The proper way to do this now is to put it
> in:
>
>* Solaris: /usr/jdk/packages/lib/ext
> * Linux: /usr/java/packages/lib/ext
>* Windows: %SystemRoot%\Sun\Java\lib\ext
> is way when you install the next update of Java 6 it
> will still work.
No, no, and once again no. If a specific program needs a specific jar, it should put it in a location that doesn't affect other programs. Other programs might need another version of the same library (due to migration costs on major releases that break API and other reasons), the user machine might not expose the JDK location as a writable resource and so on and so on. Do not put your dependent jars under JDK / JRE folders.
Of course the opposite is true too.
i.e., if someone fixes that common library, it's much better to only have to update one copy of it and fix the bugs it causes in every application, than it is to have to wait for every other application to finally update their local copy of it.
Besides, we're talking about a replacement look and feel -- something where you would ideally *want* it to be able to be used by every application (I'd almost go as far as to say you'd want a way to make it the default look and feel for every application too.)