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 [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/d/optout.