# How do I add external libraries to Processing?

**URL:** https://discourse.processing.org/t/how-do-i-add-external-libraries-to-processing/12750
**Category:** Processing
**Created:** [July 16, 2019, 1:53pm UTC](https://discourse.processing.org/t/how-do-i-add-external-libraries-to-processing/12750 "2019-07-16T13:53:33Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![BeastCoder](https://avatars.discourse-cdn.com/v4/letter/b/b487fb/32.png) [@BeastCoder](https://discourse.processing.org/u/BeastCoder)
#### Post date: [July 16, 2019, 1:53pm UTC](https://discourse.processing.org/t/how-do-i-add-external-libraries-to-processing/12750/1 "2019-07-16T13:53:33Z")

</div>

I am unable to add external libraries to processing.

I’ve followed multiple tutorials and looked at other questions but none of them do the job.

I’ve unzipped the library and put it into the libraries folder inside of Processing, but it still hasn’t worked, I have tried with 2 different libraries, the main focus being P5irebase.

> **[barneyElDinosaurio/P5ireBase](https://github.com/barneyElDinosaurio/P5ireBase)**
>
> Fire Base library for Processing Enviroment. Contribute to barneyElDinosaurio/P5ireBase development by creating an account on GitHub.

I expect the examples to show up, and to also have the option to import the library, but none of that ever shows up. No contributed libraries in the import library section under the Sketches button, and no examples for contributed libraries under libraries which is under the File button.

All help is appreciated! Thanks 🙂

P.S. Does anyone have a good way to use firebase in processing?

Stackoverflow link:

> <https://stackoverflow.com/questions/57057761/how-do-i-add-external-libraries-to-processing>

---

<div class="post-metadata">

### Author: ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)
#### Post date: [July 16, 2019, 3:35pm UTC](https://discourse.processing.org/t/how-do-i-add-external-libraries-to-processing/12750/2 "2019-07-16T15:35:17Z")

</div>

A what I like is to drag and drop the library / jar file onto the code in the processing IDE

You have to save first

See [https://stackoverflow.com/questions/56999816/is-it-possible-to-use-jcsg-library-with-processing](https://stackoverflow.com/questions/56999816/is-it-possible-to-use-jcsg-library-with-processing)

---

<div class="post-metadata">

### Author: ![BeastCoder](https://avatars.discourse-cdn.com/v4/letter/b/b487fb/32.png) [@BeastCoder](https://discourse.processing.org/u/BeastCoder)
#### Post date: [July 16, 2019, 3:48pm UTC](https://discourse.processing.org/t/how-do-i-add-external-libraries-to-processing/12750/3 "2019-07-16T15:48:04Z")

</div>

It didn’t work to just drag and drop ☹

I got an error:

java.io.FileNotFoundException: C:\Users\main\Documents\Processing\libraries\P5ireBase-master (Access is denied)  
at java.io.FileInputStream.open0(Native Method)  
at java.io.FileInputStream.open(FileInputStream.java:195)  
at java.io.FileInputStream.(FileInputStream.java:138)  
at processing.app.Util.copyFile(Util.java:130)  
at processing.app.Sketch.addFile(Sketch.java:1355)  
at processing.app.ui.Editor$FileDropHandler.importData(Editor.java:480)  
at javax.swing.TransferHandler$DropHandler.drop(TransferHandler.java:1544)  
at java.awt.dnd.DropTarget.drop(DropTarget.java:455)  
at javax.swing.TransferHandler$SwingDropTarget.drop(TransferHandler.java:1282)  
at sun.awt.dnd.SunDropTargetContextPeer.processDropMessage(SunDropTargetContextPeer.java:538)  
at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchDropEvent(SunDropTargetContextPeer.java:852)  
at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(SunDropTargetContextPeer.java:776)  
at sun.awt.dnd.SunDropTargetEvent.dispatch(SunDropTargetEvent.java:48)  
at java.awt.Component.dispatchEventImpl(Component.java:4744)  
at java.awt.Container.dispatchEventImpl(Container.java:2297)  
at java.awt.Component.dispatchEvent(Component.java:4711)  
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)  
at java.awt.LightweightDispatcher.processDropTargetEvent(Container.java:4609)  
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4471)  
at java.awt.Container.dispatchEventImpl(Container.java:2283)  
at java.awt.Window.dispatchEventImpl(Window.java:2746)  
at java.awt.Component.dispatchEvent(Component.java:4711)  
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)  
at java.awt.EventQueue.access$500(EventQueue.java:97)  
at java.awt.EventQueue$3.run(EventQueue.java:709)  
at java.awt.EventQueue$3.run(EventQueue.java:703)  
at java.security.AccessController.doPrivileged(Native Method)  
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)  
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)  
at java.awt.EventQueue$4.run(EventQueue.java:733)  
at java.awt.EventQueue$4.run(EventQueue.java:731)  
at java.security.AccessController.doPrivileged(Native Method)  
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)  
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)  
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)  
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)  
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)  
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)  
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)  
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)  
java.io.FileNotFoundException: C:\Users\main\Documents\Processing\libraries\P5ireBase-master (Access is denied)  
at java.io.FileInputStream.open0(Native Method)  
at java.io.FileInputStream.open(FileInputStream.java:195)  
at java.io.FileInputStream.(FileInputStream.java:138)  
at processing.app.Util.copyFile(Util.java:130)  
at processing.app.Sketch.addFile(Sketch.java:1355)  
at processing.app.ui.Editor$FileDropHandler.importData(Editor.java:480)  
at javax.swing.TransferHandler$DropHandler.drop(TransferHandler.java:1544)  
at java.awt.dnd.DropTarget.drop(DropTarget.java:455)  
at javax.swing.TransferHandler$SwingDropTarget.drop(TransferHandler.java:1282)  
at sun.awt.dnd.SunDropTargetContextPeer.processDropMessage(SunDropTargetContextPeer.java:538)  
at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchDropEvent(SunDropTargetContextPeer.java:852)  
at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(SunDropTargetContextPeer.java:776)  
at sun.awt.dnd.SunDropTargetEvent.dispatch(SunDropTargetEvent.java:48)  
at java.awt.Component.dispatchEventImpl(Component.java:4744)  
at java.awt.Container.dispatchEventImpl(Container.java:2297)  
at java.awt.Component.dispatchEvent(Component.java:4711)  
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)  
at java.awt.LightweightDispatcher.processDropTargetEvent(Container.java:4609)  
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4471)  
at java.awt.Container.dispatchEventImpl(Container.java:2283)  
at java.awt.Window.dispatchEventImpl(Window.java:2746)  
at java.awt.Component.dispatchEvent(Component.java:4711)  
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)  
at java.awt.EventQueue.access$500(EventQueue.java:97)  
at java.awt.EventQueue$3.run(EventQueue.java:709)  
at java.awt.EventQueue$3.run(EventQueue.java:703)  
at java.security.AccessController.doPrivileged(Native Method)  
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)  
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)  
at java.awt.EventQueue$4.run(EventQueue.java:733)  
at java.awt.EventQueue$4.run(EventQueue.java:731)  
at java.security.AccessController.doPrivileged(Native Method)  
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)  
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)  
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)  
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)  
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)  
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)  
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)  
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
