i spent more 2 days in investigating bad didn't worked out.
my problem
i writing 1 program (osgi bundle) ijavaproject object icompilationunits of java files see proposals made eclipse.
where stuck
my ijavaproject reference coming null. tried various combinations.
// sample java project created separately 1 test file, accessed project in coding plugin iproject project = resourcesplugin.getworkspace().getroot().getproject("sample"); system.out.println(project.getlocation()); // prints absolute path iprojectnaturedescriptor[] nids = project.getworkspace().getnaturedescriptors(); (int = 0; < nids.length; i++) { system.out.println(nids[i].getnatureid()); // prints natures associated iproject } system.out.println(project.getworkspace().validatenatureset(project.getdescription().getnatureids()).isok()); // print true if (project.isopen()){ system.out.println(project.hasnature(javacore.nature_id)); // prints true } final ijavaproject javaproject = javacore.create(project); system.out.println("jp=null ?? ====="+(javaproject==null)); // prints false , amazed system.out.println("jp=null ?? ====="+(javaproject==null)); // throws null pointer exception ........ also, before in project there linkage error supplying jars lib , eclipse providing. excluding couple of jars lib made working.
can me why coming null pointer always. doing wrong here?
exception trace
java.lang.nullpointerexception @ org.eclipse.jdt.internal.core.javamodelmanager.getinfo(javamodelmanager.java:1577) @ org.eclipse.jdt.internal.core.openable.isopen(openable.java:376) @ org.mypackage.manager.roastertransformmanager.execute(roastertransformmanager.java:73) @ org.mypackage.manager.transformmanager.transform(transformmanager.java:39) @ org.mypackage.transform.performtransform(transform.java:46) @ org.mypackage.transform.begin(transform.java:56) @ org.mypackage.activator.start(activator.java:22) @ org.eclipse.osgi.internal.framework.bundlecontextimpl$3.run(bundlecontextimpl.java:771) @ org.eclipse.osgi.internal.framework.bundlecontextimpl$3.run(bundlecontextimpl.java:1) @ java.security.accesscontroller.doprivileged(native method) @ org.eclipse.osgi.internal.framework.bundlecontextimpl.startactivator(bundlecontextimpl.java:764) @ org.eclipse.osgi.internal.framework.bundlecontextimpl.start(bundlecontextimpl.java:721) @ org.eclipse.osgi.internal.framework.equinoxbundle.startworker0(equinoxbundle.java:941) @ org.eclipse.osgi.internal.framework.equinoxbundle$equinoxmodule.startworker(equinoxbundle.java:318) @ org.eclipse.osgi.container.module.dostart(module.java:571) @ org.eclipse.osgi.container.module.start(module.java:439) @ org.eclipse.osgi.container.modulecontainer$containerstartlevel.incstartlevel(modulecontainer.java:1582) @ org.eclipse.osgi.container.modulecontainer$containerstartlevel.incstartlevel(modulecontainer.java:1562) @ org.eclipse.osgi.container.modulecontainer$containerstartlevel.docontainerstartlevel(modulecontainer.java:1533) @ org.eclipse.osgi.container.modulecontainer$containerstartlevel.dispatchevent(modulecontainer.java:1476) @ org.eclipse.osgi.container.modulecontainer$containerstartlevel.dispatchevent(modulecontainer.java:1) @ org.eclipse.osgi.framework.eventmgr.eventmanager.dispatchevent(eventmanager.java:230) @ org.eclipse.osgi.framework.eventmgr.eventmanager$eventthread.run(eventmanager.java:340)
stackoverflow luck me. of times when struggling issue since long , posts question resolves quickly.
i looking in bugs forum of eclipse , find https://bugs.eclipse.org/bugs/show_bug.cgi?id=75969.
according if there jars in lib folder of project won't work. need define list of dependent plugins , them eclipse\plugins instead of lib. happens in case.
still if 1 of know how can make headless environment without involving eclipse i.e. using command line please let me know. getting object of ijavaproject.
thanks
Comments
Post a Comment