Import from Bookends or Endnote

after a while the terminal says:


Importing: Library2.xml
Saving: Library.bib
File: grouptree.fxml not found, attempting with camel case
File: grouptree.css not found, attempting with camel case
File: fileannotationtab.fxml not found, attempting with camel case
15:34:18.732 [JavaFX Application Thread] ERROR org.jabref.gui.DefaultInjector - Cannot instantiate dependency: interface org.jabref.model.util.FileUpdateMonitor
java.lang.InstantiationException: org.jabref.model.util.FileUpdateMonitor
at java.lang.Class.newInstance(Class.java:427) ~[?:1.8.0_151]
at org.jabref.gui.DefaultInjector.createDependency(DefaultInjector.java:43) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.injection.Injector.instantiateModelOrService(Injector.java:114) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.injection.Injector.injectMembers(Injector.java:147) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.injection.Injector.injectMembers(Injector.java:132) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.injection.Injector.injectAndInitialize(Injector.java:125) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.injection.Injector.registerExistingAndInject(Injector.java:105) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.injection.Injector.instantiatePresenter(Injector.java:57) ~[JabRef–importBookends–latest.jar:?]
at org.jabref.gui.DefaultInjector.instantiatePresenter(DefaultInjector.java:58) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.views.FXMLView.lambda$loadSynchronously$1(FXMLView.java:96) ~[JabRef–importBookends–latest.jar:?]
at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:929) ~[jfxrt.jar:?]
at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:971) ~[jfxrt.jar:?]
at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:220) ~[jfxrt.jar:?]
at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:744) ~[jfxrt.jar:?]
at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2707) ~[jfxrt.jar:?]
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527) ~[jfxrt.jar:?]
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441) ~[jfxrt.jar:?]
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2409) ~[jfxrt.jar:?]
at com.airhacks.afterburner.views.FXMLView.loadSynchronously(FXMLView.java:99) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.views.FXMLView.initializeFXMLLoader(FXMLView.java:125) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.views.FXMLView.getView(FXMLView.java:137) ~[JabRef–importBookends–latest.jar:?]
at org.jabref.gui.AbstractView.getView(AbstractView.java:28) ~[JabRef–importBookends–latest.jar:?]
at org.jabref.gui.entryeditor.fileannotationtab.FileAnnotationTab.bindToEntry(FileAnnotationTab.java:29) ~[JabRef–importBookends–latest.jar:?]
at org.jabref.gui.entryeditor.EntryEditorTab.lambda$notifyAboutFocus$0(EntryEditorTab.java:36) ~[JabRef–importBookends–latest.jar:?]
at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295) ~[jfxrt.jar:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_151]
at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294) ~[jfxrt.jar:?]
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) ~[jfxrt.jar:?]
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) ~[jfxrt.jar:?]
at com.sun.glass.ui.gtk.GtkApplication.lambda$null$5(GtkApplication.java:139) ~[jfxrt.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
Caused by: java.lang.NoSuchMethodException: org.jabref.model.util.FileUpdateMonitor.()
at java.lang.Class.getConstructor0(Class.java:3082) ~[?:1.8.0_151]
at java.lang.Class.newInstance(Class.java:412) ~[?:1.8.0_151]
… 30 more
15:34:18.747 [JavaFX Application Thread] ERROR org.jabref.FallbackExceptionHandler - Uncaught exception occurred in Thread[JavaFX Application Thread,5,main]
java.lang.IllegalStateException: Cannot load org.jabref.gui.entryeditor.fileannotationtab.fileannotationtab
at com.airhacks.afterburner.views.FXMLView.loadSynchronously(FXMLView.java:101) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.views.FXMLView.initializeFXMLLoader(FXMLView.java:125) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.views.FXMLView.getView(FXMLView.java:137) ~[JabRef–importBookends–latest.jar:?]
at org.jabref.gui.AbstractView.getView(AbstractView.java:28) ~[JabRef–importBookends–latest.jar:?]
at org.jabref.gui.entryeditor.fileannotationtab.FileAnnotationTab.bindToEntry(FileAnnotationTab.java:29) ~[JabRef–importBookends–latest.jar:?]
at org.jabref.gui.entryeditor.EntryEditorTab.lambda$notifyAboutFocus$0(EntryEditorTab.java:36) ~[JabRef–importBookends–latest.jar:?]
at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295) ~[jfxrt.jar:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_151]
at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294) ~[jfxrt.jar:?]
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) ~[jfxrt.jar:?]
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method) ~[jfxrt.jar:?]
at com.sun.glass.ui.gtk.GtkApplication.lambda$null$5(GtkApplication.java:139) ~[jfxrt.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
Caused by: javafx.fxml.LoadException:
file:/home/user/Downloads/JabRef–importBookends–latest.jar!/org/jabref/gui/entryeditor/fileannotationtab/FileAnnotationTab.fxml:21

at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601) ~[jfxrt.jar:?]
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2579) ~[jfxrt.jar:?]
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441) ~[jfxrt.jar:?]
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2409) ~[jfxrt.jar:?]
at com.airhacks.afterburner.views.FXMLView.loadSynchronously(FXMLView.java:99) ~[JabRef--importBookends--latest.jar:?]
... 12 more

Caused by: java.lang.NullPointerException
at com.airhacks.afterburner.injection.Injector.injectMembers(Injector.java:131) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.injection.Injector.injectAndInitialize(Injector.java:125) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.injection.Injector.instantiateModelOrService(Injector.java:114) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.injection.Injector.injectMembers(Injector.java:147) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.injection.Injector.injectMembers(Injector.java:132) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.injection.Injector.injectAndInitialize(Injector.java:125) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.injection.Injector.registerExistingAndInject(Injector.java:105) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.injection.Injector.instantiatePresenter(Injector.java:57) ~[JabRef–importBookends–latest.jar:?]
at org.jabref.gui.DefaultInjector.instantiatePresenter(DefaultInjector.java:58) ~[JabRef–importBookends–latest.jar:?]
at com.airhacks.afterburner.views.FXMLView.lambda$loadSynchronously$1(FXMLView.java:96) ~[JabRef–importBookends–latest.jar:?]
at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:929) ~[jfxrt.jar:?]
at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:971) ~[jfxrt.jar:?]
at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:220) ~[jfxrt.jar:?]
at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:744) ~[jfxrt.jar:?]
at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2707) ~[jfxrt.jar:?]
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527) ~[jfxrt.jar:?]
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441) ~[jfxrt.jar:?]
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2409) ~[jfxrt.jar:?]
at com.airhacks.afterburner.views.FXMLView.loadSynchronously(FXMLView.java:99) ~[JabRef–importBookends–latest.jar:?]
… 12 more
15:34:19.803 [pool-3-thread-3] WARN org.jabref.logic.net.URLDownload - Fix SSL exceptions by accepting ALL certificates

when I try to import a library.xml file containing my ~3000 references, I just get the errors in the terminal…no imported reference

all done on a Ubuntu 17.10 machine

OK, I found the solution

JabRef Help:

JabRef does not start under Linux! What can I do?

JabRef requires Java 8. Please follow the steps provided on our installation page. JabRef does not yet run under Java 9. See https://github.com/JabRef/jabref/issues/2594

You might see the error message Error: Could not find or load main class net.sf.jabref.JabRefMain. This means, you do not have JavaFX support activated in your Java runtime environment. This typically happens if you use OpenJDK, where one needs to setup OpenJFX seperately.

No luck! JabRef 3.8.2 comes with Ubuntu 17.10 and it works. The jar-bookends-file doesn’t (on my system). Is it possible to extract the Endnote-Bookends-import files from the jar and copy them to the stable (old) version?

So in the command line it works for one entry but not for many? Then the problem is probably with the larger xml file. Could you please upload it here or send it to developers@jabref.org in case you want to keep it private; I’ll then have a look.

The errors you get in the console are harmless and shouldn’t affect the import at all. Similarly, if you wouldn’t have all required packages installed, JabRef would fail earlier.

Yes, command line works for one reference…and the reference looks perfect to me :wink:
I sent you my complete library (Endnote-xml-file).

Thanks :slight_smile:

Any ideas why the email server (email address you provided above) thinks my email is spam?

@reinhard No idea what is wrong with your email. I just received it. I saw that the file is >10mb.
On my windows machine I got a Null pointer Exception at some point when parsing the records.

Seems like there is sth wrong with the treatment of a field.
I’ll take a look at that

Okay, I found the entry which causes problems:
{title=Burden of disease statistics: Life tables for 191 countries}
All other fields, e.g. pages, numbers or Volume are null

Thanks Christoph! I sent another email and removed the p from .zip and it went through. The spam response I received from a german university server (forwarding?).

Yes, this is an internet source from the WHO
http://www3.who.int/whosis/life/life_tables/life_tables.cfm?path=whosis,bod,life,life_tables&language=english

edit: which seems to be outdated…by the way

and it is not empty

TY - JOUR

T1 - Burden of disease statistics: Life tables for 191 countries

PY - 2001

N1 - At age 60-64: men are ? times as likely to die as women
1.6 USA
2.4 Japan
UR - http://www3.who.int/whosis/life/life_tables/life_tables.cfm?path=whosis,bod,life,life_tables&language=english
ER -

I removed the WHO reference from the export and tried again on my Mac…no luck:

Mac-Pro:JabRef user$ java -jar JabRef–importBookends–latest.jar -i Library3.xml,endnote -o Reinhard.bib
AI: INFO 12-02-2018 21:14, 18: Configuration file has been successfully found as resource
Importing: Library3.xml
21:14:45.391 [AWT-EventQueue-0] ERROR org.jabref.FallbackExceptionHandler - Uncaught exception occurred in Thread[AWT-EventQueue-0,6,main]
java.lang.NullPointerException: null
at org.jabref.logic.importer.fileformat.EndnoteXmlImporter.parseRecord(EndnoteXmlImporter.java:129) ~[JabRef–importBookends–latest.jar:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_162]
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) ~[?:1.8.0_162]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_162]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_162]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[?:1.8.0_162]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_162]
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[?:1.8.0_162]
at org.jabref.logic.importer.fileformat.EndnoteXmlImporter.importDatabase(EndnoteXmlImporter.java:112) ~[JabRef–importBookends–latest.jar:?]
at org.jabref.logic.importer.Importer.importDatabase(Importer.java:88) ~[JabRef–importBookends–latest.jar:?]
at org.jabref.logic.importer.ImportFormatReader.importFromFile(ImportFormatReader.java:107) ~[JabRef–importBookends–latest.jar:?]
at org.jabref.cli.ArgumentProcessor.importFile(ArgumentProcessor.java:127) ~[JabRef–importBookends–latest.jar:?]
at org.jabref.cli.ArgumentProcessor.importFile(ArgumentProcessor.java:113) ~[JabRef–importBookends–latest.jar:?]
at org.jabref.cli.ArgumentProcessor.importAndOpenFiles(ArgumentProcessor.java:337) ~[JabRef–importBookends–latest.jar:?]
at org.jabref.cli.ArgumentProcessor.processArguments(ArgumentProcessor.java:180) ~[JabRef–importBookends–latest.jar:?]
at org.jabref.cli.ArgumentProcessor.(ArgumentProcessor.java:68) ~[JabRef–importBookends–latest.jar:?]
at org.jabref.JabRefMain.start(JabRefMain.java:182) ~[JabRef–importBookends–latest.jar:?]
at org.jabref.JabRefMain.lambda$start$0(JabRefMain.java:53) ~[JabRef–importBookends–latest.jar:?]
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ~[?:1.8.0_162]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) ~[?:1.8.0_162]
at java.awt.EventQueue.access$500(EventQueue.java:97) ~[?:1.8.0_162]
at java.awt.EventQueue$3.run(EventQueue.java:709) ~[?:1.8.0_162]
at java.awt.EventQueue$3.run(EventQueue.java:703) ~[?:1.8.0_162]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_162]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) ~[?:1.8.0_162]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) ~[?:1.8.0_162]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) [?:1.8.0_162]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [?:1.8.0_162]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [?:1.8.0_162]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_162]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_162]
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_162]

I got your file and will have a look at it tomorrow. Thanks for your patience and assistance.

Thanks Tobias! It is no problem at all. I think it would be a useful feature for JabRef…to be able to switch from Bookends/Endnote to JabRef.
I am not in a hurry at all. I recently bought a new AMD Ryzen 2700U laptop, which was very slow with the pre-installed Windows 10. Just for fun, I installed Ubuntu 17.10 and realized that it got much better over the years.
So…if JabRef can handle my existing library, I might switch to Linux.

Take your time…and thanks again for the awesome support :slight_smile:

I will also send you an export-file from Endnote (xml, BibTex export using EN label field) in another email.

So, for me the import is now working. The new version will be available in a few minutes again under https://builds.jabref.org/importBookends/. I would kindly ask you to try out this build and check if all infos are imported to your satisfaction.

Thanks Tobias! The import from Bookends (xml-Endnote-file) works now. Even the links to the pdfs survived. Currently I try to replace file://localhost/Users/user/Documents/Bookends/Attachments/
with C:\Users\user\Documents\JabRef\files\

…somehow the replace feature in JabRef doesn’t do anything…I’ll keep trying

Thanks!!! :grinning:

update: URL-Fields are empty…no links to e.g. Pubmed…in the imported JabRef library…

except for the empty URL fields, everything else seems to be ok. I had to replace the path to the pdfs step by step. And of course, ä ü ö in the paths looked like 20%88 or so…but it was easy to repair.

Thanks Tobias, now I can use JabRef with my existing library! :grinning:

1 Like

journal and URL fields are empty