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
-
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 Dudethis 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,
AmitSometime 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,
ShahSET 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 timecardmidlet:
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.
ThanksHi,
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
KrzysztofHi,
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
-
How to edit form fileds in obi publisher 11g?
hi All Can anyone share ideas for below In online layout editor ,how can we 1.edit form fields 2.define variables 3.add if and for loops to the layout thanks Arvnd
-
Is it possible to find and Replace a string inside a textfile using JSP?
FileInputStream fs = new FileInputStream("/opt/Abhishek/software/tomcat/webapps/AMS/listpass"); DataInputStream in1 = new DataInputStream(fs); while (in1.available() !=0) String str1=in1.readLine(); StringTokenizer st1 = new StringTokenizer(str1); St
-
Hebrew language is written backwards in LR cc, is there a fix for that?
When typing in Hebrew language (e.g. in identity plate or text for slideshow), the text is written backward (i.e. from left to right i/o right to left), so the words are scrambled. In PS I can control the text adjustment and direction, but I don't se
-
Hi, We have a requirement to know the no of users who are currently logged in BI. Need your help for the same. We are using OBIEE 10.1.3.4.1 Thanks
-
Could not initialize Photoshop failed to initialize CoolType
Could not initialize Photoshop failed to initialize CoolType..... photoshop cs6, upon launch.. crashes with this error.. any fix??