g.drawString("*** PAUSED ***", dcenterx, dheight, g.BOTTOM|g.HCENTER);
g.drawString("*** PAUSED ***", dcenterx, 0, g.TOP|g.HCENTER);
//g.drawString("*** "+dwidth+", "+dheight+" ***", dcenterx, 0,
g.TOP|g.HCENTER);
}
if(blackNums[0] != null)
{
g.drawImage(blackNums[0], 0, 0, g.TOP|g.HCENTER);
}
}
}
package palm;
/**
* Title: ClassCapture
* Description: Class audio and notation capture program.
* Records audio in the classroom environment and
* denotes which group of students the teacher
* is currently speaking with.
* Copyright: Copyright (c) 2001
* Company: Acuitus
* @author Eric Bailey
* @version 1.0
*/
/* MIDP for Palm MIDlet for turning the palm into a wireless remote control
*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class RemCap extends MIDlet
{
private MainDisplay md;
public RemCap()
{
md = new MainDisplay(this);
}
// -- startApp --
// --------------
// Sets the display with our UI
protected void startApp() {
Display.getDisplay(this).setCurrent(md);
}
protected void pauseApp() {}
protected void destroyApp(boolean u) {}
// -- exit --
// ----------
// Closes down the connection and exits the app
public void exit()
{
destroyApp(false);
notifyDestroyed();
}
}
---------- END SOURCE ----------
(Review ID: 138689)
======================================================================
Name: Asaf Volshtein ###@###.### Date:03/14/2002
This bug was sent to us by a customer, his description follows mine.
FULL PRODUCT VERSION :
j2sdk1.4.0
FULL OPERATING SYSTEM VERSION : Win NT 4.0
A DESCRIPTION OF THE PROBLEM :
The compiler does not recognise classes when using their name Myclass.class.
When writing a MIDLet adding the following line :
InputStream is = HelloMIDlet.class.getResourceAsStream("/HelloMIDlet.png");
will cause the comiler to throw an exeption :
An exception has occurred in the compiler (1.4.0). Please file a bug at the Java Developer Connection (http://java.sun.com/cgi-bin/bugreport.cgi) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you.
com.sun.tools.javac.v8.code.Symbol$CompletionFailure: file java\lang\NoClassDefFoundError.class not found
at com.sun.tools.javac.v8.code.ClassReader.fillIn(ClassReader.java:1020)
at com.sun.tools.javac.v8.code.ClassReader.complete(ClassReader.java:977)
at com.sun.tools.javac.v8.code.Symbol.complete(Symbol.java:375)
at com.sun.tools.javac.v8.code.Symbol$ClassSymbol.complete(Symbol.java:697)
at com.sun.tools.javac.v8.code.Symbol$ClassSymbol.flags(Symbol.java:594)
at com.sun.tools.javac.v8.comp.Resolve.findMethod(Resolve.java:386)
at com.sun.tools.javac.v8.comp.Resolve.resolveQualifiedMethod(Resolve.java:835)
at com.sun.tools.javac.v8.comp.Resolve.resolveConstructor(Resolve.java:875)
at com.sun.tools.javac.v8.comp.TransInner.makeNewClass(TransInner.java:256)
at com.sun.tools.javac.v8.comp.TransInner.classDollarSym(TransInner.java:1275)
at com.sun.tools.javac.v8.comp.TransInner.classOfType(TransInner.java:1375)
at com.sun.tools.javac.v8.comp.TransInner.classOf(TransInner.java:1339)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1755)
at com.sun.tools.javac.v8.tree.Tree$Select.visit(Tree.java:1063)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1753)
at com.sun.tools.javac.v8.tree.Tree$Select.visit(Tree.java:1063)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1684)
at com.sun.tools.javac.v8.tree.Tree$Apply.visit(Tree.java:869)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.tree.TreeTranslator._case(TreeTranslator.java:115)
at com.sun.tools.javac.v8.tree.Tree$VarDef.visit(Tree.java:503)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate(TreeTranslator.java:56)
at com.sun.tools.javac.v8.tree.TreeTranslator._case(TreeTranslator.java:124)
at com.sun.tools.javac.v8.tree.Tree$Block.visit(Tree.java:539)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.tree.TreeTranslator._case(TreeTranslator.java:172)
at com.sun.tools.javac.v8.tree.Tree$Try.visit(Tree.java:689)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate(TreeTranslator.java:56)
at com.sun.tools.javac.v8.tree.TreeTranslator._case(TreeTranslator.java:124)
at com.sun.tools.javac.v8.tree.Tree$Block.visit(Tree.java:539)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.tree.TreeTranslator._case(TreeTranslator.java:109)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1557)
at com.sun.tools.javac.v8.tree.Tree$MethodDef.visit(Tree.java:474)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1488)
at com.sun.tools.javac.v8.tree.Tree$ClassDef.visit(Tree.java:435)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1450)
at com.sun.tools.javac.v8.comp.TransInner.translateTopLevelClass(TransInner.java:1785)
at com.sun.tools.javac.v8.JavaCompiler.compile(JavaCompiler.java:417)
at com.sun.tools.javac.v8.Main.compile(Main.java:526)
at com.sun.tools.javac.Main.compile(Main.java:32)
at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sun.kvem.ktools.Compiler.compile(Unknown Source)
at com.sun.kvem.ktools.Build.compile(Unknown Source)
at com.sun.kvem.ktools.Build.build(Unknown Source)
at com.sun.kvem.ktools.Main.run(Unknown Source)
at com.sun.kvem.toolbar.MainWindow$CompilerThread.run(Unknown Source)
If you use instead the following line the comilation will succeed:
InputStream is = Class.forName("HelloMIDlet")
.getResourceAsStream("/HelloMIDlet.png");
The same thing hapens when trying to compile the line :
System.out.println(HelloMIDlet.class);
An exeption is thrown, but the compilation of the line :
System.out.println(Class.forName("HelloMIDlet"));
ends successfully.
Name: gm110360 Date: 02/05/2002
FULL PRODUCT VERSION :
build 1.3.0-c
FULL OPERATING SYSTEM VERSION : Win NT 4.0 sp4
A DESCRIPTION OF THE PROBLEM :
cannot build my app.
Hitting the build button in the toolbar app results in the
exception below
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1.Open my project, then hit build
EXPECTED VERSUS ACTUAL BEHAVIOR :
Should build, instead, I get the exception
ERROR MESSAGES/STACK TRACES THAT OCCUR :
An exception has occurred in the compiler (1.3.0). Please file a bug at the
Java Developer Connection (http://java.sun.com/cgi-bin/bugreport.cgi). Include
your program and the following diagnostic in your report. Thank you.
com.sun.tools.javac.v8.code.Symbol$CompletionFailure: file
java\lang\NoClassDefFoundError.class not found
at com.sun.tools.javac.v8.code.ClassReader.fillIn(ClassReader.java:997)
at com.sun.tools.javac.v8.code.ClassReader.complete
(ClassReader.java:952)
at com.sun.tools.javac.v8.code.Symbol.complete(Symbol.java:366)
at com.sun.tools.javac.v8.code.Symbol$ClassSymbol.flags(Symbol.java:578)
at com.sun.tools.javac.v8.comp.Resolve.findMethod(Resolve.java:367)
at com.sun.tools.javac.v8.comp.Resolve.resolveQualifiedMethod
(Resolve.java:808)
at com.sun.tools.javac.v8.comp.Resolve.resolveConstructor
(Resolve.java:827)
at com.sun.tools.javac.v8.comp.TransInner.makeNewClass
(TransInner.java:239)
at com.sun.tools.javac.v8.comp.TransInner.classDollarSym
(TransInner.java:1198)
at com.sun.tools.javac.v8.comp.TransInner.classOf(TransInner.java:1291)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1554)
at com.sun.tools.javac.v8.tree.Tree$Select.visit(Tree.java:963)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1552)
at com.sun.tools.javac.v8.tree.Tree$Select.visit(Tree.java:963)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1485)
at com.sun.tools.javac.v8.tree.Tree$Apply.visit(Tree.java:785)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.tree.TreeTranslator._case
(TreeTranslator.java:106)
at com.sun.tools.javac.v8.tree.Tree$VarDef.visit(Tree.java:470)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:47)
at com.sun.tools.javac.v8.tree.TreeTranslator._case
(TreeTranslator.java:111)
at com.sun.tools.javac.v8.tree.Tree$Block.visit(Tree.java:492)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.tree.TreeTranslator._case
(TreeTranslator.java:159)
at com.sun.tools.javac.v8.tree.Tree$Try.visit(Tree.java:642)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:47)
at com.sun.tools.javac.v8.tree.TreeTranslator._case
(TreeTranslator.java:111)
at com.sun.tools.javac.v8.tree.Tree$Block.visit(Tree.java:492)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.tree.TreeTranslator._case
(TreeTranslator.java:100)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1418)
at com.sun.tools.javac.v8.tree.Tree$MethodDef.visit(Tree.java:441)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1355)
at com.sun.tools.javac.v8.tree.Tree$ClassDef.visit(Tree.java:402)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.comp.TransInner.translate
(TransInner.java:1317)
at com.sun.tools.javac.v8.comp.TransInner.translateTopLevelClass
(TransInner.java:1583)
at com.sun.tools.javac.v8.JavaCompiler.compile(JavaCompiler.java:397)
at com.sun.tools.javac.v8.Main.compile(Main.java:247)
at com.sun.tools.javac.Main.compile(Main.java:26)
at java.lang.reflect.Method.invoke(Native Method)
at com.sun.kvem.ktools.Compiler.compile(Unknown Source)
at com.sun.kvem.ktools.Build.compile(Unknown Source)
at com.sun.kvem.ktools.Build.build(Unknown Source)
at com.sun.kvem.ktools.Main.run(Unknown Source)
at com.sun.kvem.toolbar.MainWindow$CompilerThread.run(Unknown Source)
com.sun.kvem.ktools.ExecutionException
Build failed
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
package palm;
/**
* Title: ClassCapture
* Description: Class audio and notation capture program.
* Records audio in the classroom environment and
* denotes which group of students the teacher
* is currently speaking with.
* Copyright: Copyright (c) 2001
* Company: Acuitus
* @author Eric Bailey
* @version 1.0
*/
import javax.microedition.lcdui.*;
import java.io.*;
public class MainDisplay extends Canvas
{
// main app pointer
private RemCap remCap;
// commands
private Command cmdExit;
// remote stats
private boolean isPaused;
private int groupNum;
private boolean groupNumChanged;
private int MAX_GROUPS;
// drawing vars
private Font groupFont;
private int dwidth, dheight, dcenterx, dcentery;
private Image[] blackNums, whiteNums;
private byte[] imageData;
public MainDisplay(RemCap rc)
{
super();
remCap = rc;
isPaused = false;
groupNum = -1;
groupNumChanged = false;
MAX_GROUPS = 99;
cmdExit = new Command("EXIT", Command.EXIT, 1);
addCommand(cmdExit);
groupFont = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD,
Font.SIZE_LARGE);
dwidth = getWidth();
dheight = getHeight();
dcenterx = dwidth / 2;
dcentery = dheight / 2;
loadImages();
}
////////////////////////////////////////////////////////////////////////////////
// METHODS
////////////////////////////////////////////////////////////////////////////////
// -- sendGroup --
// --------------
// After a group change, we send the new group to the server
private void sendGroup()
{
}
// -- sendPauseOrResume --
// -----------------------
//
private void sendPauseOrResume()
{
String msg;
if(isPaused) msg = "pause";
else msg = "resume";
}
// -- loadImages --
// ----------------
// Loads the number images 0-9.
//
private void loadImages()
{
blackNums = new Image[10];
whiteNums = new Image[10];
imageData = new byte[50000];
blackNums[0] = getImageFromResource("resources/0.png");
}
// -- getImagePath --
// ------------------
private Image getImageFromResource(String resource)
{
try
{
InputStream is = MainDisplay.class.getResourceAsStream(resource);
int len = is.read(imageData);
Image im = Image.createImage(imageData, 0, len);
return im;
}
catch(Exception e) { e.printStackTrace(); }
return null;
}
////////////////////////////////////////////////////////////////////////////////
// USER INTERACTION
////////////////////////////////////////////////////////////////////////////////
// ** BUTTONS **
public void keyPressed(int keyCode)
{
int gameCode = getGameAction(keyCode);
switch(gameCode)
{
case Canvas.UP: // next group num
{
if(groupNum < MAX_GROUPS) groupNum++;
//sendGroup();
groupNumChanged = true;
repaint();
break;
}
case Canvas.DOWN: // prev group num
{
if(groupNum > 0) groupNum--;
//sendGroup();
groupNumChanged = true;
repaint();
break;
}
case Canvas.FIRE: // pause recording
{
if(!isPaused) return;
isPaused = false;
repaint();
sendPauseOrResume();
break;
}
case Canvas.LEFT: // make group selection/send current group
{
if(isPaused) return;
isPaused = true;
repaint();
sendPauseOrResume();
break;
}
case Canvas.RIGHT:
{
if(!groupNumChanged) break; //don't send useless data
groupNumChanged = false;
repaint();
sendGroup();
break;
}
default: break;
}
}
public void keyReleased(int keyCode)
{
}
public void keyRepeated(int keyCode)
{
int gameCode = getGameAction(keyCode);
switch(gameCode)
{
case Canvas.UP: // next group num
{
if(groupNum < MAX_GROUPS) groupNum++;
//sendGroup();
groupNumChanged = true;
repaint();
break;
}
case Canvas.DOWN: // prev group num
{
if(groupNum > 0) groupNum--;
//sendGroup();
groupNumChanged = true;
repaint();
break;
}
default: break;
}
}
// ** COMMANDS **
public void commandAction(Command c, Displayable d)
{
if(c == cmdExit) { remCap.exit(); }
}
////////////////////////////////////////////////////////////////////////////////
// DRAWING
////////////////////////////////////////////////////////////////////////////////
// -- paint --
// -----------
// All of the drawing for this class
protected void paint(Graphics g)
{
// background
if(groupNumChanged) g.setColor(0, 0, 0); // white text, black background
else g.setColor(255, 255, 255);
g.fillRect(0, 0, dwidth, dheight);
// text
if(groupNumChanged) g.setColor(255, 255, 255); // white text, black
background
else g.setColor(0, 0, 0);
// group num
g.setFont(groupFont);
g.drawString(Integer.toString(groupNum), dcenterx, dcentery,
g.BASELINE|g.HCENTER);
// paused
if(isPaused)
{
g.drawString("*** PAUSED ***", dcenterx, 0, g.TOP|g.HCENTER);
//g.drawString("*** "+dwidth+", "+dheight+" ***", dcenterx, 0,
g.TOP|g.HCENTER);
}
if(blackNums[0] != null)
{
g.drawImage(blackNums[0], 0, 0, g.TOP|g.HCENTER);
}
}
}
package palm;
/**
* Title: ClassCapture
* Description: Class audio and notation capture program.
* Records audio in the classroom environment and
* denotes which group of students the teacher
* is currently speaking with.
* Copyright: Copyright (c) 2001
* Company: Acuitus
* @author Eric Bailey
* @version 1.0
*/
/* MIDP for Palm MIDlet for turning the palm into a wireless remote control
*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class RemCap extends MIDlet
{
private MainDisplay md;
public RemCap()
{
md = new MainDisplay(this);
}
// -- startApp --
// --------------
// Sets the display with our UI
protected void startApp() {
Display.getDisplay(this).setCurrent(md);
}
protected void pauseApp() {}
protected void destroyApp(boolean u) {}
// -- exit --
// ----------
// Closes down the connection and exits the app
public void exit()
{
destroyApp(false);
notifyDestroyed();
}
}
---------- END SOURCE ----------
(Review ID: 138689)
======================================================================
Name: Asaf Volshtein ###@###.### Date:03/14/2002
This bug was sent to us by a customer, his description follows mine.
FULL PRODUCT VERSION :
j2sdk1.4.0
FULL OPERATING SYSTEM VERSION : Win NT 4.0
A DESCRIPTION OF THE PROBLEM :
The compiler does not recognise classes when using their name Myclass.class.
When writing a MIDLet adding the following line :
InputStream is = HelloMIDlet.class.getResourceAsStream("/HelloMIDlet.png");
will cause the comiler to throw an exeption :
An exception has occurred in the compiler (1.4.0). Please file a bug at the Java Developer Connection (http://java.sun.com/cgi-bin/bugreport.cgi) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you.
com.sun.tools.javac.v8.code.Symbol$CompletionFailure: file java\lang\NoClassDefFoundError.class not found
at com.sun.tools.javac.v8.code.ClassReader.fillIn(ClassReader.java:1020)
at com.sun.tools.javac.v8.code.ClassReader.complete(ClassReader.java:977)
at com.sun.tools.javac.v8.code.Symbol.complete(Symbol.java:375)
at com.sun.tools.javac.v8.code.Symbol$ClassSymbol.complete(Symbol.java:697)
at com.sun.tools.javac.v8.code.Symbol$ClassSymbol.flags(Symbol.java:594)
at com.sun.tools.javac.v8.comp.Resolve.findMethod(Resolve.java:386)
at com.sun.tools.javac.v8.comp.Resolve.resolveQualifiedMethod(Resolve.java:835)
at com.sun.tools.javac.v8.comp.Resolve.resolveConstructor(Resolve.java:875)
at com.sun.tools.javac.v8.comp.TransInner.makeNewClass(TransInner.java:256)
at com.sun.tools.javac.v8.comp.TransInner.classDollarSym(TransInner.java:1275)
at com.sun.tools.javac.v8.comp.TransInner.classOfType(TransInner.java:1375)
at com.sun.tools.javac.v8.comp.TransInner.classOf(TransInner.java:1339)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1755)
at com.sun.tools.javac.v8.tree.Tree$Select.visit(Tree.java:1063)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1753)
at com.sun.tools.javac.v8.tree.Tree$Select.visit(Tree.java:1063)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1684)
at com.sun.tools.javac.v8.tree.Tree$Apply.visit(Tree.java:869)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.tree.TreeTranslator._case(TreeTranslator.java:115)
at com.sun.tools.javac.v8.tree.Tree$VarDef.visit(Tree.java:503)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate(TreeTranslator.java:56)
at com.sun.tools.javac.v8.tree.TreeTranslator._case(TreeTranslator.java:124)
at com.sun.tools.javac.v8.tree.Tree$Block.visit(Tree.java:539)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.tree.TreeTranslator._case(TreeTranslator.java:172)
at com.sun.tools.javac.v8.tree.Tree$Try.visit(Tree.java:689)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate(TreeTranslator.java:56)
at com.sun.tools.javac.v8.tree.TreeTranslator._case(TreeTranslator.java:124)
at com.sun.tools.javac.v8.tree.Tree$Block.visit(Tree.java:539)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.tree.TreeTranslator._case(TreeTranslator.java:109)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1557)
at com.sun.tools.javac.v8.tree.Tree$MethodDef.visit(Tree.java:474)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1488)
at com.sun.tools.javac.v8.tree.Tree$ClassDef.visit(Tree.java:435)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1432)
at com.sun.tools.javac.v8.comp.TransInner.translate(TransInner.java:1450)
at com.sun.tools.javac.v8.comp.TransInner.translateTopLevelClass(TransInner.java:1785)
at com.sun.tools.javac.v8.JavaCompiler.compile(JavaCompiler.java:417)
at com.sun.tools.javac.v8.Main.compile(Main.java:526)
at com.sun.tools.javac.Main.compile(Main.java:32)
at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sun.kvem.ktools.Compiler.compile(Unknown Source)
at com.sun.kvem.ktools.Build.compile(Unknown Source)
at com.sun.kvem.ktools.Build.build(Unknown Source)
at com.sun.kvem.ktools.Main.run(Unknown Source)
at com.sun.kvem.toolbar.MainWindow$CompilerThread.run(Unknown Source)
If you use instead the following line the comilation will succeed:
InputStream is = Class.forName("HelloMIDlet")
.getResourceAsStream("/HelloMIDlet.png");
The same thing hapens when trying to compile the line :
System.out.println(HelloMIDlet.class);
An exeption is thrown, but the compilation of the line :
System.out.println(Class.forName("HelloMIDlet"));
ends successfully.
Name: gm110360 Date: 02/05/2002
FULL PRODUCT VERSION :
build 1.3.0-c
FULL OPERATING SYSTEM VERSION : Win NT 4.0 sp4
A DESCRIPTION OF THE PROBLEM :
cannot build my app.
Hitting the build button in the toolbar app results in the
exception below
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1.Open my project, then hit build
EXPECTED VERSUS ACTUAL BEHAVIOR :
Should build, instead, I get the exception
ERROR MESSAGES/STACK TRACES THAT OCCUR :
An exception has occurred in the compiler (1.3.0). Please file a bug at the
Java Developer Connection (http://java.sun.com/cgi-bin/bugreport.cgi). Include
your program and the following diagnostic in your report. Thank you.
com.sun.tools.javac.v8.code.Symbol$CompletionFailure: file
java\lang\NoClassDefFoundError.class not found
at com.sun.tools.javac.v8.code.ClassReader.fillIn(ClassReader.java:997)
at com.sun.tools.javac.v8.code.ClassReader.complete
(ClassReader.java:952)
at com.sun.tools.javac.v8.code.Symbol.complete(Symbol.java:366)
at com.sun.tools.javac.v8.code.Symbol$ClassSymbol.flags(Symbol.java:578)
at com.sun.tools.javac.v8.comp.Resolve.findMethod(Resolve.java:367)
at com.sun.tools.javac.v8.comp.Resolve.resolveQualifiedMethod
(Resolve.java:808)
at com.sun.tools.javac.v8.comp.Resolve.resolveConstructor
(Resolve.java:827)
at com.sun.tools.javac.v8.comp.TransInner.makeNewClass
(TransInner.java:239)
at com.sun.tools.javac.v8.comp.TransInner.classDollarSym
(TransInner.java:1198)
at com.sun.tools.javac.v8.comp.TransInner.classOf(TransInner.java:1291)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1554)
at com.sun.tools.javac.v8.tree.Tree$Select.visit(Tree.java:963)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1552)
at com.sun.tools.javac.v8.tree.Tree$Select.visit(Tree.java:963)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1485)
at com.sun.tools.javac.v8.tree.Tree$Apply.visit(Tree.java:785)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.tree.TreeTranslator._case
(TreeTranslator.java:106)
at com.sun.tools.javac.v8.tree.Tree$VarDef.visit(Tree.java:470)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:47)
at com.sun.tools.javac.v8.tree.TreeTranslator._case
(TreeTranslator.java:111)
at com.sun.tools.javac.v8.tree.Tree$Block.visit(Tree.java:492)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.tree.TreeTranslator._case
(TreeTranslator.java:159)
at com.sun.tools.javac.v8.tree.Tree$Try.visit(Tree.java:642)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:47)
at com.sun.tools.javac.v8.tree.TreeTranslator._case
(TreeTranslator.java:111)
at com.sun.tools.javac.v8.tree.Tree$Block.visit(Tree.java:492)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.tree.TreeTranslator._case
(TreeTranslator.java:100)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1418)
at com.sun.tools.javac.v8.tree.Tree$MethodDef.visit(Tree.java:441)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.comp.TransInner._case(TransInner.java:1355)
at com.sun.tools.javac.v8.tree.Tree$ClassDef.visit(Tree.java:402)
at com.sun.tools.javac.v8.tree.TreeTranslator.translate
(TreeTranslator.java:35)
at com.sun.tools.javac.v8.comp.TransInner.translate
(TransInner.java:1317)
at com.sun.tools.javac.v8.comp.TransInner.translateTopLevelClass
(TransInner.java:1583)
at com.sun.tools.javac.v8.JavaCompiler.compile(JavaCompiler.java:397)
at com.sun.tools.javac.v8.Main.compile(Main.java:247)
at com.sun.tools.javac.Main.compile(Main.java:26)
at java.lang.reflect.Method.invoke(Native Method)
at com.sun.kvem.ktools.Compiler.compile(Unknown Source)
at com.sun.kvem.ktools.Build.compile(Unknown Source)
at com.sun.kvem.ktools.Build.build(Unknown Source)
at com.sun.kvem.ktools.Main.run(Unknown Source)
at com.sun.kvem.toolbar.MainWindow$CompilerThread.run(Unknown Source)
com.sun.kvem.ktools.ExecutionException
Build failed
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
package palm;
/**
* Title: ClassCapture
* Description: Class audio and notation capture program.
* Records audio in the classroom environment and
* denotes which group of students the teacher
* is currently speaking with.
* Copyright: Copyright (c) 2001
* Company: Acuitus
* @author Eric Bailey
* @version 1.0
*/
import javax.microedition.lcdui.*;
import java.io.*;
public class MainDisplay extends Canvas
{
// main app pointer
private RemCap remCap;
// commands
private Command cmdExit;
// remote stats
private boolean isPaused;
private int groupNum;
private boolean groupNumChanged;
private int MAX_GROUPS;
// drawing vars
private Font groupFont;
private int dwidth, dheight, dcenterx, dcentery;
private Image[] blackNums, whiteNums;
private byte[] imageData;
public MainDisplay(RemCap rc)
{
super();
remCap = rc;
isPaused = false;
groupNum = -1;
groupNumChanged = false;
MAX_GROUPS = 99;
cmdExit = new Command("EXIT", Command.EXIT, 1);
addCommand(cmdExit);
groupFont = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD,
Font.SIZE_LARGE);
dwidth = getWidth();
dheight = getHeight();
dcenterx = dwidth / 2;
dcentery = dheight / 2;
loadImages();
}
////////////////////////////////////////////////////////////////////////////////
// METHODS
////////////////////////////////////////////////////////////////////////////////
// -- sendGroup --
// --------------
// After a group change, we send the new group to the server
private void sendGroup()
{
}
// -- sendPauseOrResume --
// -----------------------
//
private void sendPauseOrResume()
{
String msg;
if(isPaused) msg = "pause";
else msg = "resume";
}
// -- loadImages --
// ----------------
// Loads the number images 0-9.
//
private void loadImages()
{
blackNums = new Image[10];
whiteNums = new Image[10];
imageData = new byte[50000];
blackNums[0] = getImageFromResource("resources/0.png");
}
// -- getImagePath --
// ------------------
private Image getImageFromResource(String resource)
{
try
{
InputStream is = MainDisplay.class.getResourceAsStream(resource);
int len = is.read(imageData);
Image im = Image.createImage(imageData, 0, len);
return im;
}
catch(Exception e) { e.printStackTrace(); }
return null;
}
////////////////////////////////////////////////////////////////////////////////
// USER INTERACTION
////////////////////////////////////////////////////////////////////////////////
// ** BUTTONS **
public void keyPressed(int keyCode)
{
int gameCode = getGameAction(keyCode);
switch(gameCode)
{
case Canvas.UP: // next group num
{
if(groupNum < MAX_GROUPS) groupNum++;
//sendGroup();
groupNumChanged = true;
repaint();
break;
}
case Canvas.DOWN: // prev group num
{
if(groupNum > 0) groupNum--;
//sendGroup();
groupNumChanged = true;
repaint();
break;
}
case Canvas.FIRE: // pause recording
{
if(!isPaused) return;
isPaused = false;
repaint();
sendPauseOrResume();
break;
}
case Canvas.LEFT: // make group selection/send current group
{
if(isPaused) return;
isPaused = true;
repaint();
sendPauseOrResume();
break;
}
case Canvas.RIGHT:
{
if(!groupNumChanged) break; //don't send useless data
groupNumChanged = false;
repaint();
sendGroup();
break;
}
default: break;
}
}
public void keyReleased(int keyCode)
{
}
public void keyRepeated(int keyCode)
{
int gameCode = getGameAction(keyCode);
switch(gameCode)
{
case Canvas.UP: // next group num
{
if(groupNum < MAX_GROUPS) groupNum++;
//sendGroup();
groupNumChanged = true;
repaint();
break;
}
case Canvas.DOWN: // prev group num
{
if(groupNum > 0) groupNum--;
//sendGroup();
groupNumChanged = true;
repaint();
break;
}
default: break;
}
}
// ** COMMANDS **
public void commandAction(Command c, Displayable d)
{
if(c == cmdExit) { remCap.exit(); }
}
////////////////////////////////////////////////////////////////////////////////
// DRAWING
////////////////////////////////////////////////////////////////////////////////
// -- paint --
// -----------
// All of the drawing for this class
protected void paint(Graphics g)
{
// background
if(groupNumChanged) g.setColor(0, 0, 0); // white text, black background
else g.setColor(255, 255, 255);
g.fillRect(0, 0, dwidth, dheight);
// text
if(groupNumChanged) g.setColor(255, 255, 255); // white text, black
background
else g.setColor(0, 0, 0);
// group num
g.setFont(groupFont);
g.drawString(Integer.toString(groupNum), dcenterx, dcentery,
g.BASELINE|g.HCENTER);
// paused
if(isPaused)
{
- duplicates
-
JDK-4313429 Compiling <ClsName>.class expressions for CLDC leads to compiler internal error
-
- Closed
-