****specific code that is making the calls****

import org.dcm4che2.tool.dcmof.DcmOF;
...

public class Activator extends BaseModuleActivator {
...

public void started(){
    ...
64    String[] args2 = { "-mwl", Utils.mwlDir(), "-mpps",
             Utils.mppsDir(),
             Utils.aeTitle() + ":" + Utils.mwlMppsPort() };
65    DcmOF of = DcmOF.main(args2);
    ...
}

****the error message****

The console says:

WARN - ModuleUtil.refreshApplicationContext(754) |2011-10-14 11:32:07,921|
Unable to invoke method on the module's activator

java.lang.NoClassDefFoundError: org/dcm4che2/data/DicomObject
        at
org.openmrs.module.radiologymodule.Activator.start(Activator.java:64)

In line 64 I am using Utils.xxx. I've realized that in Utils I have:

    public static void write(Order o, Study s, File file){
        BasicDicomObject workitem = new BasicDicomObject();
        ...
    }

org/dcm4che2/data/DicomObject is implemented by BasicDicomObject and both of
them are part of the dcm4che2 core.

As I see it: the problem is I am not loading the dcm4che2
core libraries, because when I copy them in the
$tomcat_home/webapps/openmrs/WEB-INF/lib folder it works. And the console
output points to that.

****Other thing****

Do you think:

Context.loadClass("com.other.class.name"); or
Thread.currentThread().setClassLoader(OpenmrsClassLoader.getInstance());

are the solution?, I do not understand the lines completely.

_________________________________________

To unsubscribe from OpenMRS Developers' mailing list, send an e-mail to 
[email protected] with "SIGNOFF openmrs-devel-l" in the  body (not 
the subject) of your e-mail.

[mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l]

Reply via email to