problems with running command in Vista

User 173254b396

12-10-2010 13:24:20

Hi,


I installed jchem 5.3.8. from the zip file in Vista. When I try to run run it I get a java.lang.NoClassDefFoundError. If I run jcman in GUI from the same directory it runs fine. I have tried it with 3 utilities all the same:


jcman:


C:\vp\Program Files\jchem538\bin>jcman -- help
Exception in thread "main" java.lang.NoClassDefFoundError: chemaxon/jchem/Command
Caused by: java.lang.ClassNotFoundException: chemaxon.jchem.Command
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: chemaxon.jchem.Command.  Program will exit.


molconvert:


C:\vp\Program Files\jchem538\bin>molconvert --help
Exception in thread "main" java.lang.NoClassDefFoundError: chemaxon/formats/MolConverter
Caused by: java.lang.ClassNotFoundException: chemaxon.formats.MolConverter
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: chemaxon.formats.MolConverter.  Program will exit.


license


C:\vp\Program Files\jchem538\bin>license
Exception in thread "main" java.lang.NoClassDefFoundError: chemaxon/license/LicenseManagerGUI
Caused by: java.lang.ClassNotFoundException: chemaxon.license.LicenseManagerGUI
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: chemaxon.license.LicenseManagerGUI.  Program will exit.


I experimented a bit with molconvert.bat and commented the following lines out:


if exist @JCHEMHOME@. (

set SETUPBAT="@JCHEMHOME@\bin\setup.bat"

set JCHEMCLASSPATH="@JCHEMHOME@\lib\jchem.jar;%CLASSPATH%"

GOTO AFTER_CLASSPATH

)

rem # if exist %JCHEMHOME%. (

rem # set SETUPBAT="%JCHEMHOME%\bin\setup.bat"

rem # set JCHEMCLASSPATH="%JCHEMHOME%\lib\jchem.jar;%CLASSPATH%"

rem # GOTO AFTER_CLASSPATH

rem # )

set SETUPBAT="..\bin\setup.bat"

set JCHEMCLASSPATH="..\lib\jchem.jar;%CLASSPATH%"


It is running ok.


If I replace jcman.bat with jcman.bat from version 5.1.0 then it runs fine at  the command line, as well.


Any idea?


Thanks, Péter

User c1ce6b3d19

13-10-2010 16:41:52

Peter,


Perhaps you can try using batchsetup.bat.


<your_jchem_dir>/bin/batchsetup.bat.


Does that help?


Jon

ChemAxon 7c2d26e5cf

13-10-2010 19:08:01

Peter, thanks for the bug report.


Indeed, if batch scripts are not configured by batchsetup.bat or by the installer, jcman.bat and other application launcher batch files do not work.


I have fixed this issue. It will appear in next release.


But the offical way is that Jon suggested (run batchsetup.bat to substitute relative references in batch files to absolute one). It is important if you like run batch script outside of jchem/bin directory.


So follow Jon's instruction to fix links in your scripts.