I seem to get around this by increasing:

  :jvm-opts ["-Xms300m" "-Xmx300m" "-XX:-UseCompressedOops"])

Is that possible? I didn't realize that effected "lein uberjar" I thought 
it only effected my app when my app was running. 




On Saturday, December 10, 2016 at 11:37:44 PM UTC-5, larry google groups 
wrote:
>
> I had a small app that was compelling, and then I added in a java class, 
> and now when I run "lein uberjar" I get  java.lang.OutOfMemoryError.
>
> I'm working on my MacBook Pro, 16 gigs of memory
>
> Dependencies were: 
>
>
>   :dependencies [
>                  [org.clojure/clojure "1.7.0"]
>                  [com.taoensso/timbre "4.3.1"]
>                  [dire "0.5.4"]
>                  [slingshot "0.12.2"]
>                  [clj-time "0.6.0"]
>                  [org.clojure/test.check "0.9.0"]
>                  [me.raynes/fs "1.4.4"]
>                  [clj-stacktrace "0.2.7"]                 
>                  [sax/sax "2.0.1"]
>                  [xml-apis/xml-apis "2.0.2"]
>                  [javax.xml.stream/stax-api "1.0-2"]
>                  [overtone/at-at "1.2.0"]
>                  [org.clojure/data.xml "0.1.0-beta1"]
>
>                  [org.apache.poi/poi "3.9"]               
>                  [org.apache.poi/poi-ooxml "3.9"]
>                  ]
>
> And the above compiled, but then I added: 
>
>                  [org.eclipse.birt.runtime/org.eclipse.birt.runtime 
> "4.2.2"]
>
> And that was about when things fell apart. 
>
> In my project.clj I also have: 
>
>   :source-paths      ["src/clojure"]
>   :java-source-paths ["src/java"]
>
> And I have added one Java file to src/java:
>
> package com.heddy.excel_to_csv;
>
>
> import java.io.InputStream;
> import java.util.Iterator;
> import java.util.LinkedHashMap;
> import java.util.Map;
>
> import org.apache.poi.openxml4j.opc.PackageAccess;
> import org.apache.poi.xssf.eventusermodel.XLSX2CSV;
> import org.apache.poi.xssf.eventusermodel.XSSFReader;
> import org.apache.poi.xssf.model.SharedStringsTable;
> import org.apache.poi.xssf.usermodel.XSSFRichTextString;
> import org.apache.poi.openxml4j.opc.OPCPackage;
> import org.xml.sax.Attributes;
> import org.xml.sax.ContentHandler;
> import org.xml.sax.InputSource;
> import org.xml.sax.SAXException;
> import org.xml.sax.XMLReader;
> import org.xml.sax.helpers.DefaultHandler;
> import org.xml.sax.helpers.XMLReaderFactory;
>
>
> public class SheetHandler extends DefaultHandler {
>     private SharedStringsTable sst;
>     private String lastContents;
>     private boolean nextIsString;
>     private SheetHandler(SharedStringsTable sst) {
>         this.sst = sst;
>     }
>     public void startElement(String uri, String localName, String name,
>                              Attributes attributes) throws SAXException {
>         // c => cell
>         if(name.equals("c")) {
>             // Print the cell reference
>             System.out.print(attributes.getValue("r") + " - ");
>             // Figure out if the value is an index in the SST
>             String cellType = attributes.getValue("t");
>             if(cellType != null && cellType.equals("s")) {
>                 nextIsString = true;
>             } else {
>                 nextIsString = false;
>             }
>         }
>         // Clear contents cache
>         lastContents = "";
>     }
>     public void endElement(String uri, String localName, String name)
>         throws SAXException {
>         // Process the last contents as required.
>         // Do now, as characters() may be called more than once
>         if(nextIsString) {
>             int idx = Integer.parseInt(lastContents);
>             lastContents = new 
> XSSFRichTextString(sst.getEntryAt(idx)).toString();
>             nextIsString = false;
>         }
>
>         // v => contents of a cell
>         // Output after we've seen the string contents
>         if(name.equals("v")) {
>             System.out.println(lastContents);
>         }
>     }
>
>     public void characters(char[] ch, int start, int length)
>         throws SAXException {
>         lastContents += new String(ch, start, length);
>     }
> }
>
> I have never used a Java file like this before, so I wasn't sure how to 
> proceed. I invented the "package" name, which could be all wrong. 
>
> I've stolen the Java code from here: 
>
>
> https://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xssf/eventusermodel/examples/FromHowTo.java
>
> Any thoughts why I would get an OutOfMemory?
>
>
>
>
>
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to