Java/lang/Runtime exception

java.lang.RuntimeException: IOException reading reader invalid byte 1110011 error caused while running sun Wireless tool kit.Can any body please help me to solve this problem. I am using Eclipse 3.3 and also eclipse 3.2
with sun java wireless toolkit in ubuntu.
Thanks and Regards,
Pandian

Support for the RecipeFox extension is over here: <br />
http://recipetools.sourceforge.net/phpBB3/index.php

Similar Messages

  • I am trying to set up Recipefox to export MasterCook 11. What configurations should be "export" box. I am also getting an error message that Java.lang.Runtime exception. could not create a new folder for the writer.

    When Igo to "Export them" a box shows that my configuration paths are not correct.

    Support for the RecipeFox extension is over here: <br />
    http://recipetools.sourceforge.net/phpBB3/index.php

  • Java.lang.Runtime.exec problem in ubuntu 9.10

    Hi:
    I tried to run some command in the java code , for example "grass64 -text /home/data/location", this command works well in the terminal, however when I call it in the java code I got some excepetions.
    My code is :
    public class Grass {
         public static String grassBatJob="GRASS_BATCH_JOB";
         public void run(String cmd,String jobPath) {
              //set the environments variables
              Map<String, String> env=new HashMap<String, String>();
              env.put(grassBatJob, jobPath);
              String gisDataBase="/home/kk/grass/GrassDataBase";
              String location="spearfish60";
              String mapset="PERMANENT";
              cmd=cmd+" "+gisDataBase+"/"+location+"/"+mapset;
              CommandLine line=new CommandLine(cmd);
              //the real cmd should be >>grass64 -text /home/kk/grass/GrassDataBase/spearfish60/PERMANENT
              System.out.println("start line=="+line.toString());
              DefaultExecutor de=new DefaultExecutor();
              try {
                   int index=de.execute(line,env);
                   System.out.println(index);
              } catch (ExecuteException e) {
                   e.printStackTrace();
              } catch (IOException e) {
                   e.printStackTrace();
         public static void main(String[] args) {
              String jobPath=Grass.class.getResource("grass.sh").getFile();
              new Grass().run("grass64 -text", jobPath);
    The real cmd I want to execute is "grass64 -text /home/kk/grass/GrassDataBase/spearfish60/PERMANENT" with the envrionment variable "GRASS_BATCH_JOB=jobPath",it works well in the ternimal ,however in my application I got the exception"
    java.io.IOException: Cannot run program "grass64 -text /home/kk/grass/GrassDataBase/spearfish60/PERMANENT": java.io.IOException: error=2, No such file or directory
         at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
         at java.lang.Runtime.exec(Runtime.java:593)
         at org.apache.commons.exec.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:58)
         at org.apache.commons.exec.DefaultExecutor.launch(DefaultExecutor.java:246)
         at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:302)
         at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:149)
         at org.kingxip.Grass.run(Grass.java:27)
         at org.kingxip.Grass.main(Grass.java:38)
    Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
         at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
         at java.lang.ProcessImpl.start(ProcessImpl.java:65)
         at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
         ... 7 more
    I wonder why?

    Thanks for all of your reply, and now I can run the command, however I met some problems when I tried to get the result of the exec.
    The core codes are shown below:
    String cmd="g.version";
    String[] exe={"bash","-c",cmd};
    Process p1=Runtime.getRuntime.exec(exe,env); // the env has been set
    GrassThread outThread=new GrassThread("out", p1.getInputStream());
    outThread.start();
    GrassThread errorThread=new GrassThread("error", p1.getErrorStream());
    errorThread.start();
    int exitVal = p1.waitFor();
    String resu=outThread.sb.toString();
    System.out.println("==========the output start========");
    System.out.println(resu);
    System.out.println("==========the output end========");
    System.out.println("ExitValue: " + exitVal); //------------------> line one
    public class GrassThread extends Thread{
         public StringBuffer sb=new StringBuffer();
         public GrassThread(String type,InputStream is) {
              this.type=type;
              this.is=is;
         public void run() {
              try {
                   InputStreamReader isr = new InputStreamReader(is);
                   BufferedReader br = new BufferedReader(isr);
                   String line = null;
                   while ((line = br.readLine()) != null) {
                        System.out.println(type + ">" + line);
                        sb.append(line).append("\r");  // ----------------------------> line two
    }I define a StringBuffer in the GrassThread to save the output (see the code where I marked by "line two"), and when the process complete, I check the StringBuffer to get the output (see code where I marked by "line one"), however the output in the console of the IDE are :
    ----------- output in the console of the IDE start -------------
    ==========the output start========
    ==========the output end========
    ExitValue: 0
    out>GRASS 6.4.0RC5 (2009)
    ----------output in the console of the IDE end--------------------
    I can not understand, in the code "line one", I first get the output using "System.out.println(resu);",then I print the exitvalue,but why the order of the output in the console is not what I expected?
    Another question, the code above assume the output can be got from the Process's getInputStream, however sometimes the output maybe come from the Process's getErrorStream, so how to handle it?
    Edited by: apachemaven on 2010-3-5 ??5:38

  • FindClass() throws java.lang.UnsatisfiedLinkError exception

    Hi All,
    I am using a JNI to make my C program to communicate with the GUI developed in Java Swings. In my C program I have used FindClass() method to find the java class. While exececuting my C program, I got the following exception,
    Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/java/jre1.5.0_04/lib/i386/libawt.so: /usr/java/j2sdk1.4.2_08/jre/lib/i386/libmlib_image.so: version `VER_1.1' not found (required by /usr/java/jre1.5.0_04/lib/i386/libawt.so)
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(Unknown Source)
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at sun.security.action.LoadLibraryAction.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
    at sun.awt.DebugHelper.<clinit>(Unknown Source)
    at java.awt.Component.<clinit>(Unknown Source)
    I have ensured that the libawt.so and ibmlib_image.so paths are set in LD_LIBRARY_PATH. Inspite of that I am not able to access the java class because of the above mentioned exception. Please help me out in this.
    For your reference, I am attaching the code with this,
    #include <jni.h>
    int main()
         JavaVMOption options[2];
         JNIEnv *env;
         JavaVM *jvm;
         JavaVMInitArgs vm_args;
         long status;
         jclass cls;
         jobject obj;
         jmethodID mid;
         jstring jstr;
         char str[25];
           options[0].optionString =        "-Djava.class.path=/home/maniyan/work/Dhruv_proj/vers/v5";
         options[1].optionString = "-verbose:jni";
         memset(&vm_args, 0, sizeof(vm_args));
            vm_args.version = JNI_VERSION_1_4;
         vm_args.nOptions = 1;
         vm_args.options = options;
         vm_args.ignoreUnrecognized = 1;
         status = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
         printf("status %d\n",status);
         if (status != JNI_ERR)
              printf("Exception %d\n",(*env)->ExceptionCheck(env));
              cls = (*env)->FindClass(env, "frame_main_v1");
              printf("Exception %d\n",(*env)->ExceptionCheck(env));
              if ((*env)->ExceptionCheck(env)) {
              (*env)->ExceptionDescribe(env);
              (*env)->ExceptionClear(env);
         if(cls !=0)
                 //printf("am here\n");
              mid = (*env)->GetStaticMethodID(env, cls, "display_message", "(Ljava/lang/String;)V");
              printf("Method %d\n",mid);
              if(mid !=0)
              {      strcpy(str,"Hello world");
                    (*env)->CallStaticCharMethod(env, cls, mid, (*env)->NewStringUTF(env, str));
         (*jvm)->DestroyJavaVM(jvm);
         return 0;
    else {
              printf("some error\n");
              return -1;
    Thanks in adv,
    Cool Dude

    this is like a classpath issue, but for a native library
    basically you need to include the library file in your path info to the JVM

  • Java.lang.NullPointer Exception in File-RFC-File wtihout BPM scenario

    Hi All,
    I have implemented scenario File - RFC - File without BPM in PI7.1 according to below link by bhavesh
    [File - RFC - File without a BPM - Possible from SP 19.;
    but I am getting error java.lang.NullPointer Exception  in Audit log of sender communication channel when it enters in ResponseOnewayBean.
    I had implemented the same in PI 7.0 but there it was working fine.
    Is there any limitations on the use of the above beans in PI7.1 as I could see two more threads on the same unanswered yet.
    Please help me in resolving as it is priority task for me
    Thanks,
    Amit

    Sometime back I saved this SAP Note 1261159 for this error. Not sure if it is still valid. Try to get it implemented.
    Regards,
    Prateek

  • Java.lang.NoClassDefFoundError: Exception in thread "main"

    Hello People,
    I am aware that this topic has been raised before. I have browsed through all the postings of this particular question, but i have not found the solution.
    While compilign i get no errors but this is what i get when i run the java program.
    java.lang.NoClassDefFoundError: Exception in thread "main"
    Tool completed with exit code 1
    The following is my path and classpath files under autoexec.bat
    SET PATH=%PATH%;C:\j2sdk1.4.0_03\bin
    SET CLASSPATH=.;%CLASSPATH%;C:\j2sdk1.4.0_03\bin
    These are the settings i have in MY COMPUTER properties/environments
    SYSTEM VARIABLES
    Variable - classpath
    Value - C:\Program Files\TextPad 4
    USER VARIABLES
    Variable - PATH
    Value - C:\j2sdk1.4.0_03\bin
    SYSTEM VARIABLES
    Variable - path
    Value - C:\PROGRA~1\PVCS\VM\win32\bin;C:\WINNT4\system32;C:\WINNT4;C:\WINNT4\system32\nls\ENGLISH;C:\WINNT4\system32\nls;C:\Program Files\Rational\common
    USER VARIABLES
    Variable - PATH
    Value - C:\j2sdk1.4.0_03\bin
    I hope this infromation will help.
    Thanks
    Regards,
    Shah

    SET PATH=%PATH%;C:\j2sdk1.4.0_03\bin
    SET CLASSPATH=.;%CLASSPATH%;C:\j2sdk1.4.0_03\bin
    These are the settings i have in MY COMPUTER
    properties/environments
    SYSTEM VARIABLES
    Variable - classpath
    Value - C:\Program Files\TextPad 4I am concerned that the classpath in the autoexec.bat is different from what you posted under System variables. What version of Windows are you running? autoexec.bat is used by 98. Others use the system variables. The classpath you show for autoexec.bat looks OK but the classpath you show for system variables looks wrong. It should be the same as what you show for autoexec.bat You do not need the sdk\bin directory in your classpath unless you plan to put classes there.
    The NoClassDefFound error means that the java.exe command could not find the class that you specified. You did not post the command that you entered. You may have specified the class wrong. Otherwise, it is probably a classpath problem.

  • Java.Lang.NullPoint.Exception in OWB Mapping

    Hello Everybody
    We are building Data Warehouse using OWB Repository 9.2.0.2.0. When we are validating or deploying the created map we are getting Java.Lang.NullPoint.Exception. This leads to blank screen. We are unable to recover the map. Sometimes, synchronization works to recover the map, but not all the times.
    Is there any solution to it?

    Mark
    Is it possible to solve the problem without migrating? I have the details of error as follows --
    java.lang.NullPointerException
    java.lang.NullPointerException
         at oracle.wh.service.impl.mapping.metadata.WBMappingGraphImpl.<init>(WBMappingGraphImpl.java:43)
         at oracle.wh.service.impl.mapping.metadata.WBMappingGraphHelper.createMappingGraph(WBMappingGraphHelper.java:31)
         at oracle.wh.ui.mapping.MappingGraphNew.drawStage(MappingGraphNew.java:2660)
         at oracle.wh.ui.mapping.MappingGraphNew.setStage(MappingGraphNew.java:484)
         at oracle.wh.ui.mapping.MappingEditorCanvas.refresh(MappingEditorCanvas.java:287)
         at oracle.wh.ui.common.WhFolderEditor.refreshCanvas(WhFolderEditor.java:951)
         at oracle.wh.ui.common.WhFolderEditor.refresh(WhFolderEditor.java:604)
         at oracle.wh.ui.common.WhFolderEditor$1$MyRefresh.run(WhFolderEditor.java:424)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:154)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:337)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:131)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:98)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)
    I appreciate your feedback.
    Cheers, Bana

  • Java.lang.thread exception while using Xalan 2.0 in WLS 6.0

    Hi, I'm trying to use Xalan 2.0 in a servlet hosted by WLS. Ive
    modified Xalan's SimpleTransform sample to be a servlet. I
    create a Transformer with the .xsl, then call tranform() to
    print the tranformed xml to the response stream. The xml is
    tranformed correctly, but it throws a java.lang.thread
    exception. The standalone Xalan sample doesn't do this. Anyone
    else seen this problem?
    Here's the code of interestest, I apologize if its not formatted very well:
    public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException
         PrintWriter out = res.getWriter();
         res.setContentType("text/html");
         out.println("<html><head><title>XalanTest<title></head>");
         out.println("<body><h1>XalanTest</h1>");
         try{
         TransformerFactory tFactory = TransformerFactory.newInstance();
         StreamSource ss = new StreamSource("file:\\\\My-path\\birds.xsl");
         Transformer transformer = tFactory.newTransformer(ss);
         StreamResult SR = new StreamResult(out);
         transformer.transform(new StreamSource("file:\\\\My-path\\birds.xml"), SR );
         catch(Exception e){
         out.println("<p>" + e.toString() + "</p>");
         e.printStackTrace(out);
         out.println("<p>Exception</p>");
              out.println("</body></html>");

    It also looks like the workaround suggested does not work.
    I put the following code as workaround:
         response.setContentType("text/html");
         response.setHeader ("Pragma", "no-cache");
         Transformer transformer;
         TransformerFactory factory = TransformerFactory.newInstance();
         String stylesheet = "config\\closs\\applications\\webroot\\jsp\\example\\Load2.xsl";
         String sourceId = "config\\closs\\applications\\webroot\\jsp\\example\\Load2.xml";
         String outputFile = "config\\closs\\applications\\webroot\\jsp\\example\\Load2.html";
         String outputDirectFile = "config\\closs\\applications\\webroot\\jsp\\example\\Load2_Direct.html";
         try
              PrintWriter fout = new PrintWriter (new FileOutputStream (outputFile));
              OutputStream os = new ByteArrayOutputStream();
              transformer = factory.newTransformer(new StreamSource(stylesheet));
              transformer.transform(new StreamSource(sourceId), new StreamResult(outputDirectFile));
              transformer.transform(new StreamSource(sourceId), new StreamResult(os));
              os.flush ();
              os.close();
              out.print(os.toString());
              fout.print (os.toString ());
              fout.flush ();
              fout.close ();
         catch (Exception e)
              // Error Handler
         e.printStackTrace();
    The two .html files produced look exactly the same, which is good.
    However, the screen output to my html browser (Internet Explorer 5.50 sp1) produces
    different output.
    That is strange, but that shows that this bug does not have a known workaround
    "Rabinowitz" <[email protected]> wrote:
    >
    I have the same problem with java sun xml parser (jaxp 1-1)
    It is interesting to know that all this perfectly works under weblogic
    5.1, so
    I cannot migrate my application to 6.0
    So, the functionality of weblogic 6.0 degraded since 5.1.
    I cannot buy the explanation that that is not bea's fault, because it
    perfectly
    worked with the same version of xml parser.
    Now, their customer support is saying they have not decided whether this
    is a
    bug or a feature.
    Interesting to know that degradation of functionality could be a feature!
    It is now June 21, 3 months since this bug was reported, sp2 was shipped
    since
    that time, and this bug is still there.
    "Chuck H. Zhao" <[email protected]> wrote:
    I am having the exact same problem you are having. If we analyze the
    stack
    trace:
    javax.xml.transform.TransformerException: java.lang.Thread
    at
    org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.j
    ava:1212)
    at
    org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:2894)
    at java.lang.Thread.run(Thread.java:484)
    java.lang.ClassCastException: java.lang.Thread
    at
    weblogic.servlet.internal.ResponseHeaders.setDateHeader(ResponseHeaders.java
    :273)
    at
    weblogic.servlet.internal.ServletResponseImpl.setDateHeader(ServletResponseI
    mpl.java:449)
    at
    weblogic.servlet.internal.ServletResponseImpl.writeHeaders(ServletResponseIm
    pl.java:637)
    at
    weblogic.servlet.internal.ServletOutputStreamImpl.flush(ServletOutputStreamI
    mpl.java:124)
    at
    weblogic.servlet.internal.WLOutputStreamWriter.flush(WLOutputStreamWriter.ja
    va:124)
    at java.io.PrintWriter.flush(PrintWriter.java:120)
    at
    org.apache.xalan.serialize.SerializerToXML.flushWriter(SerializerToXML.java:
    1431)
    at
    org.apache.xalan.serialize.SerializerToXML.endDocument(SerializerToXML.java:
    629)
    at
    org.apache.xalan.transformer.ResultTreeHandler.endDocument(ResultTreeHandler
    ..java:180)
    at
    org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.j
    ava:1194)
    at
    org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:2894)
    at java.lang.Thread.run(Thread.java:484)
    What happened is: to support incremental output, Xalan-Java performs
    the
    transformation in a second thread while building the source tree inthe
    main
    thread. So Transformer.transform() creates a new thread to run the
    transformer.run() method, which will write to weblogic's internal
    ServletOutputStreamImpl, and in the end calls flush() on it.
    ServletOutputStreamImpl determines that the headers haven't been written
    yet, and the headers need to be written before any servlet output, so
    it
    calls ServletResponseImpl.writeHeaders(), which eventually calls
    ResponseHeaders.setDateHeader(). The last method assumes the thread
    is
    weblogic's internal ExecuteThread and tries to cast the thread as such,
    maybe to get the date from it. But the thread is a plain java.lang.Thread
    created by xalan, thus we get the java.lang.ClassCastException:
    java.lang.Thread
    This suggests a second workaround: call ServletResponse.flushBuffer()
    before any xalan stuff, which will force the headers to be written in
    weblogic's ExecuteThread. The shortcoming of this is that this will
    cause
    the response to be commited, and if the xalan stuff throws exception
    you can
    not forward to another page.
    Another thing is that xalan should not directly call flush() on
    ServletOutputStreamImpl at all. I will report it to xalan and see if
    they
    consider that a bug. If they fix that then we have a third workaround:
    set
    the buffer size of ServletResponse big enough to accomodate everything
    including the xslt outputs, so the ServletOutput does not need to be
    flushed
    during xalan code.
    I do not consider this problem a weblogic bug, since the servlet container
    has to right to expect any thread inside it to be its own. Serlvet2.2
    spec
    says:
    1.2 What is a Servlet Container?
    A Servlet Container may place security restrictions on the environment
    that
    a servlet executes in. In
    a Java 2 Platform Standard Edition 1.2 (J2SE) or Java 2 Platform Enterprise
    Edition 1.2 (J2EE)
    environment, these restrictions should be placed using the permission
    architecture defined by Java 2
    Platform. For example, high end application servers may limit certain
    action, such as the creation of
    a Thread object, to insure that other components of the container are
    not
    negatively impacted.
    Weblogic should explicitly warn the developers that creating threads
    inside
    the servlet container may have adverse effects, the same kind of problem
    we
    are having. (or maybe they already did somewhere in their documentation?)
    On the xalan side, I would suggest them to either give the option to
    switch
    the two threads, or to give the option to buffer the output and write
    it out
    in the main thread, which is exactly what you did in your first workaround.
    Any comments or thoughts on the subject are welcome.
    -- Chuck Zhao
    "MK Parini" <[email protected]> wrote in message
    news:[email protected]...
    I found, what I think to be a bug, and a work-around for it.
    When doing an XSLT Transformation, you must specify a StreamResult
    to which to write the output. I was doing my transformation in
    a
    servlet so I was writing my output to the HttpResponse
    (The variable res is a javax.servlet.http.HttpServletResponse
    object)
    StreamResult htmlTarget = new StreamResult(res.getWriter());
    If I use this, when I perform the transformation using the TRAX
    APIs,
    InputStream xslFile = context.getResourceAsStream(fileName);
    TransformerFactory tFactory = TransformerFactory.newInstance();
    Templates xslTemplates = tFactory.newTemplates(new StreamSource(xslFile));
    transformer = xslTemplates.newTransformer();
    transformer.transform(xmlSource, htmlTarget);
    I receive the ClassCastException from the class
    weblogic.servlet.internal.ResponseHeaders.setDateHeader(ResponseHeaders.java
    :273),
    as seen in my previous posting.
    I discovered, if I write my output to a StringBuffer, and then
    I write
    the StringBuffer to the HttpResponse, I do not get the ClassCastException.
    For example,
    StringWriter myWriter = new StringWriter(2400);
    StreamResult htmlTarget = new StreamResult(myWriter);
    <Same transformation code as above>
    myWriter.close();
    PrintWriter out = res.getWriter();
    out.print(myWriter.toString());
    Is this a bug in the weblogic internal servlet class or am I just
    missing something?
    Also, one concern that I have with the workaround is that it might
    hurt performance.
    Any comments or thoughts on the subject are welcome.

  • Invoke exe through java code(using java.lang.Runtime)

    Iam trying to invoke an exe from java code.If i give the complete path for that exe it is running fine .But if i set the environment variable and directly execute the exe through command prompt it iss running fine , but it fails to run when i do the same using java code i.e. java.lang.Runtime.exec function

    Give "//" for directory seperator.
    E.g. r.exec("c://test//test.exe",null);
    Why? That doesn't look correct.It is correct. It will work fine. Try it out.But it doesn't add or solve anything. A forward slash
    does not need to be escaped.'
    It's not even escaping. It's just doubling up. If that works, I'd bet "C://///test///////test.exe" does also.

  • Java.lang.indexoutofbound Exception

    HI all
    i am trying to convert multiple jpg images to single tiff image..i am getting an exception that is
    "java.lang.indexoutofbound Exception"..can anyone help me
    import com.sun.media.imageio.plugins.tiff.TIFFImageWriteParam;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.Locale;
    import javax.imageio.IIOImage;
    import javax.imageio.ImageIO;
    import javax.imageio.ImageReader;
    import javax.imageio.ImageWriteParam;
    import javax.imageio.ImageWriter;
    import javax.imageio.metadata.IIOMetadata;
    import javax.imageio.stream.ImageInputStream;
    import javax.imageio.stream.ImageOutputStream;
    public class mergeImages
    public void execute(ArrayList<File> imageFiles , File newTIFF)
    throws IOException
    Iterator iterator = imageFiles.iterator();
    Iterator writers = ImageIO.getImageWritersByFormatName("tif");
    ImageWriter writer = (ImageWriter)writers.next();
    ImageOutputStream ios = ImageIO.createImageOutputStream(newTIFF);
    writer.setOutput(ios);
    TIFFImageWriteParam tiffWriteParam = new TIFFImageWriteParam(Locale.US);
    tiffWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
    tiffWriteParam.setCompressionType("JPEG");
    boolean firstImage = true;
    while (iterator.hasNext())
    File imageFile = (File) iterator.next();
    ImageInputStream iis = ImageIO.createImageInputStream(imageFile);
    Iterator readers = ImageIO.getImageReaders(iis);
    ImageReader reader = (ImageReader)readers.next();
    reader.setInput(iis);
    try
    for(int i = 0;i<imageFiles.size();i++)
    IIOMetadata iioImageMetadata = reader.getImageMetadata(i);
    int imageHeight = reader.getHeight(i);
    int imageWidth = reader.getWidth(i);
    tiffWriteParam.setTilingMode(ImageWriteParam.MODE_EXPLICIT);
    tiffWriteParam.setTiling(imageWidth, imageHeight, 0, 0);
    BufferedImage bi = reader.read(i, null);
    IIOImage image = new IIOImage(bi, null, iioImageMetadata);
    if(firstImage==false)
    writer.writeInsert(-1,image, tiffWriteParam);
    else {
    writer.write(null, image, tiffWriteParam);
    firstImage = false;
    catch (Exception e)
    System.out.println("Exxxxxxxxx"+e);
    reader.dispose();
    writer.dispose();
    public static void main(String[] args)throws IOException
    ArrayList filesList=new ArrayList();
    File destFile = new File("c:\\TEST.tif");
    //your logic to get the list of files.
    // set the file list to 'filesList'
    File in1 = new File("c:\\a.jpg");
    File in2 = new File("c:\\b.jpg");
    filesList.add(0,in1);
    filesList.add(1,in2);
    mergeImages mI=new mergeImages();
    mI.execute(filesList,destFile);
    }

    To expand on that a little, so that you get better information next time:
    This line tells you what, ultimately, failed.
    java.lang.IndexOutOfBoundsExceptionYou then get the stack trace from most recent method called to least recent method called. The most recent method will contain the line of code that actually failed, but as here may be in an external library:
    at com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage(JPEGImageReader.java:448)The last external package after your own code will be the method call that failed. Here you were calling the getImageMetadata() method of the com.sun.imageio.plugins.jpeg.JPEGImageReader class. Documentation on this class is available from the [Sun API documentation|http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/ImageReader.html] .
    at com.sun.imageio.plugins.jpeg.JPEGImageReader.getImageMetadata(JPEGImageReader.java:851)The next entry indicates which line of your own code failed. Here it was line 45 which is within a method called execute (mediocre name - it should describe what it's doing, execute is too abstract) of your own class called mergeImagesHCL (also a poor name - classes should always start with a capital letter):
    at mergeImagesHCL.execute(mergeImagesHCL.java:45)The rest of the stack trace tells you how you got there - here by calling mergeImagesHCL at line 84 of the main method of the same class:
    at mergeImagesHCL.main(mergeImagesHCL.java:84)Stack traces tell you exactly what line of code your error is on, what you were calling when it failed, and why it failed. Use them.

  • Java.lang.ClassNotFound Exception whenever I include .send()

    Everything runs fine, but when I add the .send(message); [it is in bold] I get a java.lang.ClassNotFound Exception.
    It still compiles, it just won't allow me to launch the program in the emulator. If I take that one piece of code out, everything runs fine again. I've been messing with it, and searching for a long time in an attempt to solve the problem but I've yet to come across a solution.
    I'm also using Bluej
    import java.io.*;
    import java.lang.*;
    import javax.microedition.lcdui.*;
    import javax.microedition.io.*;//Add SMS text, Map selection (upload image/altitude-scale)
    import javax.microedition.lcdui.Font;
    import javax.microedition.lcdui.Graphics;
    import javax.microedition.lcdui.Image;
    import javax.microedition.lcdui.Canvas;
    import javax.microedition.lcdui.Graphics;
    import javax.microedition.lcdui.game.GameCanvas;
    import javax.wireless.messaging.*;
       public class cardcanvas extends GameCanvas implements Runnable, CommandListener {
        Image i, Mortar, Target, paintballcharleston, selectimg, Cursor;
        SendSMS sendtext;
        Thread t = new Thread(this);
        Command cmdfire=new Command("Fire", Command.BACK, 1 );
        Command cmdreset=new Command("Reset", Command.ITEM, 2 );
        String text, message;
        static Image Map;
        MessageConnection messageConnection;
        TextMessage textMessage;
        int mortarX=5500, mortarY=5500, targetX=5500, targetY=5500, distanceX, distanceY, delay, mapx=-250, mapy=-250, xvel=115, yvel=130, gameAction=0, timer=0;
        double A, B, C, b, degreeX, degreeY, degreeV, voltageX, voltageY, scale=1.4235, findDegree=90;//get scale of pixel:realtime feet
        boolean paintdown=false, paintup=false, paintright=false, paintleft=false, left, finish, firemor, initiate, click, bottom=true, noYdegree, reset, sms=false;
        public cardcanvas(){
            super(false);
            this.addCommand(cmdfire);
            this.addCommand(cmdreset);
            this.setCommandListener(this);
        public void intit() {}
        public void start() {
            t.start() {}
        public void run()
            try{
                while(true)
                    if(paintright) {
                        timer++;
                        if(timer>1&&timer<4) xvel=xvel+5;
                        if(timer>=4&&timer<6) xvel=xvel+10;
                        if(timer>=6) xvel=xvel+20;
                    if(paintleft) {
                        timer++;
                        if(timer>1&&timer<4) xvel=xvel-5;
                        if(timer>=4&&timer<6) xvel=xvel-10;
                        if(timer>=6) xvel=xvel-20;
                    if(paintup) {
                        timer++;
                        if(timer>1&&timer<4) yvel=yvel-5;
                        if(timer>=4&&timer<6) yvel=yvel-10;
                        if(timer>=6) yvel=yvel-20;
                    if(paintdown) {
                        timer++;
                        if(timer>1&&timer<4) yvel=yvel+5;
                        if(timer>=4&&timer<6) yvel=yvel+10;
                        if(timer>=6) yvel=yvel+20;
                    if(mapy<-320) mapy=-320;
                    if(mapx>0) mapx=0;
                    if(mapy>0) mapy=0;
                    if(mapx>197) mapx=197;
                    if(xvel>225)
                        mapx=mapx-5;
                        targetX=targetX-5;
                        mortarX=mortarX-5;
                        xvel=225;
                    if(xvel<5)
                        mapx=mapx+5;
                        targetX=targetX+5;
                        mortarX=mortarX+5;
                        xvel=5;
                    if(yvel>260)
                        mapy=mapy-5;
                        targetY=targetY-5;
                        mortarY=mortarY-5;
                        yvel=260;
                    if(yvel<5)
                        mapy=mapy+5;
                        targetY=targetY+5;
                        mortarY=mortarY+5;
                        yvel=5;
                        if(reset) {
                            mapx=-250;
                            mapy=-250;
                            xvel=115;
                            yvel=130;
                            left=false;
                            firemor=false;
                            finish=false;
                            initiate=false;
                            click=false;
                            bottom=true;
                            noYdegree=false;
                            reset=false;
                            targetX=5500;
                            targetY=5500;
                            mortarX=5500;
                            mortarY=5500;
                            A=0;
                            B=0;
                            C=0;
                            b=0;
                            degreeX=0;
                        if(initiate) {
                           distanceX=targetX-mortarX;
                           distanceY=targetY-mortarY;
                           A=distanceY;
                           B=distanceX;
                               if(distanceY<0)
                                    A=distanceY*-1;
                                    bottom=false;
                               if(distanceX<0)
                                    B=distanceX*-1;
                                    left=true;
                            A=A*scale;
                            B=B*scale;
                            C=Math.sqrt((A*A)+(B*B));
                                while(((A*(Math.tan(b)))<B+.00002))
                                    b=b+.0001;
                            b=b*180/3.1415926535897932384626435;
                            degreeX=b;
                                if(bottom)
                                    b=90-b;
                                    b=b+90;
                                    degreeX=b;
                                if(left)
                                    degreeX=360-b;
                            initiate=false;
                            text=("DegreeX is "+degreeX+" Range is "+C);
                             sendTextMessage();
                     verifyGameState();
                     paint(getGraphics());
                     Thread.currentThread().sleep(1);
                catch (Exception E) {}
        private void verifyGameState() {}
        public void sendTextMessage()
            try
                String message = " ";
                MessageConnection messageConnection = (MessageConnection)Connector.open("sms://18433036060");
                TextMessage textMessage = (TextMessage)messageConnection.newMessage(
                        MessageConnection.TEXT_MESSAGE, "18433036060");
                textMessage.setPayloadText(message);
                *messageConnection.send(textMessage);*
            catch (Exception e) {}
    }If I remove messageConnection.send(texstMessage); the error is gone.
    Thanks in advance for your time

    cardmidlet:
    import javax.microedition.lcdui.*;
    import javax.microedition.midlet.MIDlet;
    import javax.microedition.midlet.MIDletStateChangeException;
    import java.io.IOException;
    import java.lang.*;
    public class cardmidlet extends MIDlet implements CommandListener {
        private Display display; Display map;
        cardmidlet midlet;
        private Form form; Form mapselection;
        private List menuList ;
        String[] elements=new String[]{"Initiate Program","Select Map","Help","About"};
        private Command selectCommand;
        Alert alert;
            private Command fnext=new Command("NEXT",Command.ITEM,1);
            private Command fback=new Command("BACK",Command.BACK,1);
            private Command mapnext=new Command("Next",Command.ITEM,1);
        private TextField uname; TextField mapchoice;
        public String nname, nmap;
        cardcanvas cd;
        protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
        protected void pauseApp() {
        public cardmidlet() {
             menuList();
             cd = new cardcanvas();
        public void menuList(){
             display = Display.getDisplay(this);
             menuList = new List("Menu", List.IMPLICIT, elements, null);
             selectCommand=new Command("open",Command.ITEM,1);
             menuList.setSelectCommand(selectCommand);
             menuList.setCommandListener(this);  
        protected void startApp() throws MIDletStateChangeException {
            display.setCurrent(menuList);
        public void about(){
            alert = new Alert("Option Selected", "This program is created by"+"\n"+" Chris Furlong.", null, null);
              alert.setTimeout(Alert.FOREVER);
              alert.setType(AlertType.INFO);
              display.setCurrent(alert);
        public void help() {
            alert = new Alert("Option Selected", "Use the 4 d-pad keys to move the cursor. Press the center button once to select the mortar position, and a second time to select the target position. When both the mortar and the target are on screen, press the upper left key to begin the firing process. If you place one on the map by mistake, simply reset the program with the upper right key and start over.", null, null);
            alert.setTimeout(Alert.FOREVER);
            alert.setType(AlertType.INFO);
            display.setCurrent(alert);
        public void InitiateProgram(){
            display=Display.getDisplay(this);
            uname=new TextField("Enter your name","",50,TextField.ANY);
            form =new Form("New User");
            form.append(uname);
            form.addCommand(fnext);
            form.addCommand(fback);
            form.setCommandListener(this);
            display.setCurrent(form);
        public void selectmap()
           /* display=map.getDisplay(this);
            mapchoice=new TextField("Enter Map Name","",50,TextField.ANY);
            mapselection=new Form("Map Selection");
            mapselection.append(mapchoice);
            mapselection.addCommand(mapnext);
            mapselection.addCommand(fback);
            mapselection.setCommandListener(this);
            display.setCurrent(mapselection);*/
            display = map.getDisplay(this);
            map choose=new map();
        public String name(){
            nname=uname.getString();
            return nname;
    /*   public String mapname() {
            nmap=mapchoice.getString();
            return nmap;
        public void commandAction(Command com, Displayable arg1) {
             if(com==selectCommand)
                if(menuList.getSelectedIndex()==3)
                    about();
                if(menuList.getSelectedIndex()==2)
                    help();
                if(menuList.getSelectedIndex()==1)
                    selectmap();
                if(menuList.getSelectedIndex()==0)
                    InitiateProgram();
            if(com==fback)
                display.setCurrent(menuList);
            if(com==fnext){
                display = Display.getDisplay(this);
                cd.start();
                display.setCurrent(cd);
            if(com==mapnext)
                display = map.getDisplay(this);
                map choose=new map();
                display.setCurrent(choose);
    }

  • Weblogic 8.1 SP4 getting Java.lang.outofMemory exception

    Dear experts,
    We are running WL8.1 SP4 on our Solaris 5.9 Server.
    We want to do MQ implementatin on this server and for the same some kernel parameters were changed.
    now our system has below parameters in /etc/system:
    set semsys:seminfo_semmsl=1000
    set semsys:seminfo_semvmx=32767
    set shmsys:shminfo_shmmax=4294967295
    set shmsys:shminfo_shmmin=1
    set shmsys:shminfo_shmseg=2048
    set shmsys:shminfo_shmmni=2048
    set semsys:seminfo_semmni=1024
    set semsys:seminfo_semaem=16384
    set semsys:seminfo_semmap=1026
    set semsys:seminfo_semmns=16384
    set semsys:seminfo_semopm=100
    set semsys:seminfo_semmnu=16384
    set semsys:seminfo_semume=256
    set msgsys:msginfo_msgmni=50
    set msgsys:msginfo_msgmap=1026
    set msgsys:msginfo_msgmax=4096
    set msgsys:msginfo_msgmnb=65535
    set msgsys:msginfo_msgtql=4096
    set msgsys:msginfo_msgssz=16
    set msgsys:msginfo_msgseg=8192
    set rlim_fd_cur=10000
    set rlim_fd_max=10000
    and below in /etc/profile:
    ulimit -s unlimited
    ulimit -d unlimited
    but as soon as server was rebooted and we tried to start the weblogic we got java.lang.outofmemory exception.
    details as below:
    admin_trace:
    java.lang.OutOfMemoryError
         at java.util.zip.ZipFile.open(Native Method)
         at java.util.zip.ZipFile.<init>(ZipFile.java:112)
         at java.util.zip.ZipFile.<init>(ZipFile.java:72)
         at weblogic.servlet.internal.WebAppHelper.makeImplicitMapFromJars(WebAppHelper.java:479)
         at weblogic.servlet.internal.WebAppServletContext.extractClassFiles(WebAppServletContext.java:5436)
         at weblogic.servlet.internal.WebAppServletContext.setDocroot(WebAppServletContext.java:5253)
         at weblogic.servlet.internal.WebAppServletContext.init(WebAppServletContext.java:545)
         at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:496)
         at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:637)
         at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:619)
         at weblogic.j2ee.J2EEApplicationContainer.prepareWebModule(J2EEApplicationContainer.java:3191)
         at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1581)
         at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1227)
         at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1070)
         at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2513)
         at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2463)
         at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2379)
         at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:866)
         at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:594)
         at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:508)
         at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
    --------------- nested within: ------------------
    weblogic.management.ManagementException: [Deployer:149233]An unexpected error was encountered during the deployment process. - with nested exception:
    [java.lang.OutOfMemoryError]
         at weblogic.management.deploy.slave.SlaveDeployer.convertThrowable(SlaveDeployer.java:1017)
         at weblogic.management.deploy.slave.SlaveDeployer.access$500(SlaveDeployer.java:124)
         at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2395)
         at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:866)
         at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:594)
         at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:508)
         at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
    managed2_trace:
    [java.lang.OutOfMemoryError].
    java.lang.OutOfMemoryError
         at java.util.zip.ZipFile.open(Native Method)
         at java.util.zip.ZipFile.<init>(ZipFile.java:112)
         at java.util.zip.ZipFile.<init>(ZipFile.java:72)
         at weblogic.servlet.internal.WebAppHelper.makeImplicitMapFromJars(WebAppHelper.java:479)
         at weblogic.servlet.internal.WebAppServletContext.extractClassFiles(WebAppServletContext.java:5436)
         at weblogic.servlet.internal.WebAppServletContext.setDocroot(WebAppServletContext.java:5253)
         at weblogic.servlet.internal.WebAppServletContext.init(WebAppServletContext.java:545)
         at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:496)
         at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:637)
         at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:619)
         at weblogic.j2ee.J2EEApplicationContainer.prepareWebModule(J2EEApplicationContainer.java:3191)
         at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1581)
         at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1227)
         at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1070)
         at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:823)
         at weblogic.management.deploy.slave.SlaveDeployer$Application.prepare(SlaveDeployer.java:3029)
         at weblogic.management.deploy.slave.SlaveDeployer.prepareAllApplications(SlaveDeployer.java:967)
         at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.java:349)
         at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resume(DeploymentManagerServerLifeCycleImpl.java:229)
         at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)
         at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)
         at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
         at weblogic.Server.main(Server.java:32)
    --------------- nested within: ------------------
    weblogic.management.ManagementException: [Deployer:149233]An unexpected error was encountered during the deployment process. - with nested exception:
    [java.lang.OutOfMemoryError]
         at weblogic.management.deploy.slave.SlaveDeployer.convertThrowable(SlaveDeployer.java:1017)
         at weblogic.management.deploy.slave.SlaveDeployer.access$500(SlaveDeployer.java:124)
         at weblogic.management.deploy.slave.SlaveDeployer$Application.prepare(SlaveDeployer.java:3034)
         at weblogic.management.deploy.slave.SlaveDeployer.prepareAllApplications(SlaveDeployer.java:967)
         at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.java:349)
         at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resume(DeploymentManagerServerLifeCycleImpl.java:229)
         at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)
         at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)
         at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
         at weblogic.Server.main(Server.java:32)
    >
    need help to identify what exactly went wrong and where.
    Thanks

    Hi,
    As you are using WLS8.1 It means your JDK will be JDK1.4 and there is a Bug already available with JDK1.4 for the Same issue ... Please find the below link:
    http://bugs.sun.com/bugdatabase/view_bug.do;:YfiG?bug_id=4705373 (For Sun JDK1.4)
    AND
    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6373059 (For Sun JDK 1.5.0_05)
    Please try to switch to JRockit JDK.
    Thanks
    Jay SenSharma
    http://weblogic-wonders.com/weblogic (WebLogic Wonders Are Here)

  • Why do I get  a java.lang.OutOfMemory exception

    Thanks, in advance, for you help.
    I just wrote a fairly large program. Every time I run it, I get a java.lang.OutOfMemory exception. I have no idea how to debug my code. Why would I get such an exception and how would I debug it?

    put more debug statements
    and see which line its giving that exception and see whether some where u have any line which is kind of looping or memory allocation .
    As i havent seen ur code thats vague idea iam giving
    java.lang.OutOfMemory exception is Thrown when the JVM cannot allocate an object because it is out of memory, and no more memory could be made available by the garbage collector.
    hope this might help

  • Reason of java.lang.NoSuchMethodError exception

    Hi,
    I observed some strange (I suppose) behaviour. I made some helper class, which works as a factory to some EIS. When I use it in test desktop Java client, works correct, but if I try to involve it into the some servlet than I'll get an
    java.lang.NoSuchMethodError
    exception. Why it doesn't work as a servlet?
    Thanks for som help
    Krzysztof

    Hi,
    I observed some strange (I suppose) behaviour. I made some helper class, which works as a factory to some EIS. When I use it in test desktop Java client, works correct, but if I try to involve it into the some servlet than I'll get an
    java.lang.NoSuchMethodError
    exception. Why it doesn't work as a servlet?
    Thanks for som help
    Krzysztof

  • A java.lang.OutOfMemoryError exception

    I always get a message below when i'm working with sun creator but when i deploy my application it works fine.
    Is it not going to have any negative effect on the application when it goes life
    A java.lang.OutOfMemoryError exception has occurred.
    Please report this at http://www.netbeans.org/issues.html,
    including a copy of your messages.log file as an attachment.
    The messages.log file is located in your C:\Documents and Settings\ngx1431\.Creator\2_1\var\log folder.

    Try changing :
    <jvm-options>-Xms512m -Xmx512m</jvm-options>
    Java options in the domain.xml file.
    This file is under :
    $CREATOR_HOME/SunAppServer8/domains/$DOMAIN/config/domain.xml
    Also, check this thread
    http://forum.java.sun.com/thread.jspa?threadID=5063632

Maybe you are looking for