Class not found because browsers need newer runtime environment - or this
For all who are experiencing the same problem!
Problem:
You're compiling your applets with a quiet modern compiler (i.e. Netbeans Version 3.5.1)
You are able to compile your applets without any problems but if you try your applets in "real life", the browsers can't interpret your applets [class not found]. (I tested Internet Explorer 6.0 and Netscape Navigator 4.7)
So you need a plugin for the new JAVA environment because the JAVA environment of the browser is older than that which the applet needs.
Well, you have the choice to demand to every user of your applet to download the new Java Runtime Environment, but then don't wonder why nobody visits your site!
But, don't worry: I figuered out another solution, that Netbeans (www.netbeans.org) allows to compile in different JAVA versions.
Solution:
What you have to do is:
- Install a previous version of JDK (i.e. JDK 1.3 - I would suggest, lower versions don't work with Netbeans 3.5.1 and JDK 1.3 is enough for IE 6.0 and NN 4.7, which I tested)
- Go into the "bin"-directory of Netbeans (i.e. c:/netbeans3.5.1/bin)
- Open the file "ide.cfg" (with notepad or any other texteditor)
- You see a line like: jdkhome "C:\java\j2sdk1.4.2" -J-Xmx96m -J-Xss1024k -J-Xms24m -J-Xverify:none
- Change the path to your other JDK you wish, like: jdkhome "C:\java\jdk1.3" -J-Xmx96m -J-Xss1024k -J-Xms24m -J-Xverify:none
- That's it, you can compile your applets in a previous version of JAVA so that "older" browser user don't have to install a plugin for the new JAVA environment.
Have fun!
If you have any questions I would be pleased to help you.
If this tip helped you already I would be pleased if you would send me a quick email with your experience.
My email: [email protected]
That's very good to know of course, but correct me if I am wrong with saying that Java development not
limited to NewBeans or any other IDE use.
If somebody wants to deploy the applets within browser built-in JVM (which is really outdated and just
Java 1.1.6 compliant) he or she should compile applet with Java 1.1.8 (still available from SunMicrosystems). Generated classes will be recognized by both Netscape and IE.
Regards.
Similar Messages
-
For weeks I have been viewing a doggy day care center via their web cam. This weekend I upgraded to Lion and have been unable to view the center. I get an error message for Java plug-in 1.6.0_29 ....webcam class not found. Any suggestions on how to fix this?
Sorry, don't know what else to suggest unless there's a URL to the problem stream that someone here can try. Otherwise we can't test it to try and determine what might be wrong.
BTW, make sure they're testing it with a Mac, not with a Windows system. If they test only with Windows, what they say is or is not working doesn't mean much.
Regards. -
Optional Package class reference at server startup...gives class not found
I have a enterprise app having a webservice..the webservice (servlet) gets instantiated on server startup…It has reference of a class which is an optional package
All the manifest entries are correctly added to the ear..manifest.mf..
When the servlet is initialized at startup.. gives me a class not found error…
However, the app works fine..this is just a one time error(whenever the app is deployed fresh..)..
Any help would be appreciated
ThanksI have a enterprise app having a webservice..the webservice (servlet) gets instantiated on server startup…It has reference of a class which is an optional package
All the manifest entries are correctly added to the ear..manifest.mf..
When the servlet is initialized at startup.. gives me a class not found error…
However, the app works fine..this is just a one time error(whenever the app is deployed fresh..)..
Any help would be appreciated
Thanks -
"Class not found" error at runtime when ExternalLib DC is included in WD DC
Hi All,
I am getting "Class not found" exception at runtime when external library DC is included in Webdynpro DC.
I am following the below steps..
1) Created a Webdynpro DC - "testProj" to which i need to add the external library DC.
2) Created a DC of type "External Library" called "externaljar"
3)Added Public Parts of type assembly and compilation to the "externaljar" DC (Component Properties Tab -> Public Parts)
4) Right click on the assembly Public Part name -> Manage entities, and added the JAR files as archive.
5)Right click on the compilation Public Part name -> Manage entities, and added the JAR files as archive.
6)Go to Webdynpro DC "testProj" .
Under Component Properties Tab -> Dependencies tab -> Add -> selected the "externaljar" DC -> Next -> for "externaljar" DC checked Deploy time and Run time.
For assembly Public Part and compilation Public Part "build" is selected by default.
7) I did build of both the DC's and deployed it.
Im getting "Class not found" error.
Please let me know where i am going wrong.
Thanks,
Shilpa.Hi Balakrishna,
If I add Jar files in build path, at run time I dont get any errors, but I get error at comple time. So an external DC is made which includes all jar files in its public part and this DC is added as dependency in the webdynpro project (at deploy time,run time) as in below blog.
/people/raphael.vogel/blog/2008/05/05/how-to-use-external-libraries-in-the-sap-component-model-part-ii
Here im getting the error "class not found".
Thanks,
Shilpa.
Edited by: Shilpa KG on Jun 18, 2008 4:42 PM
Edited by: Shilpa KG on Jun 18, 2008 4:44 PM -
I was given notification to upload the latest version of itunes recently, so I clicked installed. However it has since corrupted my itunes and I get the error message:
"This application has failed to start because MSVCR80.dll was not found. Re-installing the application may fix this problem".
In poor timing, I have also accidently damaged my phone and have a new one to restore it to an old back up.
It is because of this I am reluctant to completely delete itunes off my computer and start again for fear of losing my back ups.
Is there another way to fix iTunes so I can open it again?
ThanksHey I finally got an older vesion of itunes to work!!! 10.7 x64 for windows 7
After uninstalling all apple products even quicktime
I had to delete everything from (program files, and program files x64, program data,)
And all downloads from apple, and I went in to search deleted other stuff from apple, and itunes
But definently not my itunes library and Playlist
Down loaded 10.7 x64 for windows 7, but checked (do not start when done)
Then I emptied my recycling bin and restarted my PC
I ran geek tech tool box same as reg cure pro, also PC Tools registry cleaner, and CC Cleaner
Then I emptied my recycling bin and restarted my PC
And wallah... It finally works, and I Love the older version anyways.
Easier to download and transfer music!!!!! -
Since updating because it says i need itunes 11 however it will not install because i need a newer version of mac os, any ideas how to get round this ?
Update your Mac OS level.
-
APPLET.class not found error on explorer!! need solution URGENTLY!!!
Hi,
I am calling my applet from a jsp and trying to run it on the internet explorer but I am getting the following error:
load: class /WEB-INF/classes/Log/LogApplet.class not found.
java.lang.ClassNotFoundException: .WEB-INF.classes.Log.LogApplet.class
My Explorer version is 6.0 and I am using Plug-in: Version 1.4.1_05. Why do you think it cannot find the class? it is located under the specified directory which is:
/Web Content/WEB-INF/classes/Log/LogApplet.class
and my jsp which is calling my applet is located under:
Web Content/Login.jsp
this is a very urgent problem!! could you please help me? I will appreciate your help so much.
Thanks,
Sofia
here is how I wrote my jsp:
<jsp:plugin type="applet"
code="/WEB-INF/classes/Log/LogApplet.class"
width="600"
height="620"
>
<jsp:params>
</jsp:params>
<jsp:fallback>
<p>Unable to start plugin.</p>
</jsp:fallback>
</jsp:plugin>
...I'm having the same problem...however my applet is located outside of the web-inf folder. the web-inf folder is only for servlets. applets can't be recognised inside it since that folder is for server-side application while applets are meant for client-side.
i put my applet into a separate folder in the root directory of the webapp but it's generating a security error when i call it using a jsp page. so far the only way i got around it was specifying the entire codebase using localhost...but it's not a pretty good way of doing it.
any ideas anyone? -
Class not found error for applet.
This is probally a really simple mistake but I've tried everything and can't find it.
My applet works fine with applet viewer - I'm running it from JBuilder. But when I open my html file in the browser it gives me a 'Class not found' error. I've tried running other applets (my own and demos on this site) and they work fine.This is the applet tag code:
<applet code = "Rotary.class" width = "650" height = "580" align = "top">
<!-- coordinates of sectors -->
<param name = "sector0" value ="234,215,244,207,154,43,125,63">
</applet>
The class file is in the same directory as the HTML file. Do I need to specify the codebase? I tried that too - giving it the full pathname of the class.
In the Java console it said that it couldn't find "C:Project\Rotary\javax\swing\japplet"
I don't think it could have anything to do with the fact that I'm using swing because the other applets I used used swing.
Please help - I'm really running out of ideas here!You have a similar problem like I had.
You seem to have a too old JAVA environment for the browser - I had a too new environment.
For all who are experiencing the same problem!
Problem:
You're compiling your applets with a quiet modern compiler (i.e. Netbeans Version 3.5.1)
You are able to compile your applets without any problems but if you try your applets in "real life", the browsers can't interpret your applets [class not found]. (I tested Internet Explorer 6.0 and Netscape Navigator 4.7)
So you need a plugin for the new JAVA environment because the JAVA environment of the browser is older than that which the applet needs.
Well, you have the choice to demand to every user of your applet to download the new Java Runtime Environment, but then don't wonder why nobody visits your site!
But, don't worry: I figuered out another solution, that Netbeans (www.netbeans.org) allows to compile in different JAVA versions.
Solution:
What you have to do is:
- Install a previous version of JDK (i.e. JDK 1.3 - I would suggest, lower versions don't work with Netbeans 3.5.1 and JDK 1.3 is enough for IE 6.0 and NN 4.7, which I tested)
- Go into the "bin"-directory of Netbeans (i.e. c:/netbeans3.5.1/bin)
- Open the file "ide.cfg" (with notepad or any other texteditor)
- You see a line like: jdkhome "C:\java\j2sdk1.4.2" -J-Xmx96m -J-Xss1024k -J-Xms24m -J-Xverify:none
- Change the path to your other JDK you wish, like: jdkhome "C:\java\jdk1.3" -J-Xmx96m -J-Xss1024k -J-Xms24m -J-Xverify:none
- That's it, you can compile your applets in a previous version of JAVA so that "older" browser user don't have to install a plugin for the new JAVA environment.
Have fun!
If you have any questions I would be pleased to help you.
If this tip helped you already I would be pleased if you would send me a quick email with your experience.
My email: [email protected] -
Class not found only using browser.
I can not run any of my java programs in my browsers. They work fine using the "java" command in a dos window or using the "appletviewer" command. But when I try to view them in a browser, the page appears to load fine but I get no program and the status window of the browser displays a class not found msg.
I've checked spelling, location, capitalization. Everything works fine outside the browsers but will not view in a browser. We had the same problem in school and the instructor just said to stick with the appletviewer for class.
I am running JDK1.2. Any suggestions?
JohnMaybe you should try a newer JAVA version.
I had a similar problem, but with a (too) newer JAVA version.
Problem:
You're compiling your applets with a quiet modern compiler (i.e. Netbeans Version 3.5.1)
You are able to compile your applets without any problems but if you try your applets in "real life", the browsers can't interpret your applets [class not found]. (I tested Internet Explorer 6.0 and Netscape Navigator 4.7)
So you need a plugin for the new JAVA environment because the JAVA environment of the browser is older than that which the applet needs.
Well, you have the choice to demand to every user of your applet to download the new Java Runtime Environment, but then don't wonder why nobody visits your site!
But, don't worry: I figuered out another solution, that Netbeans (www.netbeans.org) allows to compile in different JAVA versions.
Solution:
What you have to do is:
- Install a previous version of JDK (i.e. JDK 1.3 - I would suggest, lower versions don't work with Netbeans 3.5.1 and JDK 1.3 is enough for IE 6.0 and NN 4.7, which I tested)
- Go into the "bin"-directory of Netbeans (i.e. c:/netbeans3.5.1/bin)
- Open the file "ide.cfg" (with notepad or any other texteditor)
- You see a line like: jdkhome "C:\java\j2sdk1.4.2" -J-Xmx96m -J-Xss1024k -J-Xms24m -J-Xverify:none
- Change the path to your other JDK you wish, like: jdkhome "C:\java\jdk1.3" -J-Xmx96m -J-Xss1024k -J-Xms24m -J-Xverify:none
- That's it, you can compile your applets in a previous version of JAVA so that "older" browser user don't have to install a plugin for the new JAVA environment.
Have fun!
If you have any questions I would be pleased to help you.
If this tip helped you already I would be pleased if you would send me a quick email with your experience.
My email: [email protected] -
Error in beanshell - class not found in namespace
We use beanshell to evaluate business rule validations on our application. Below is the calling method...
private Object callBeanShell(final Object parameters, final String expression)
throws EvalError {
if (LogConstants.FINE_ENABLED) {
logger.log(Level.FINE, "Expression: " + expression);
beanShell.set("params", parameters);
Object result = null;
try {
result = beanShell.eval(expression);
} catch (Throwable ex) {
getErrorHandler().fatalError("Expression: " + expression, ex);
if (LogConstants.INFO_ENABLED) {
logger.log(Level.INFO, "Expression: " + expression);
logger.log(Level.INFO, "Result : " + (result == null ? "null" : result.toString()));
return result;
This has been working fine on the application for years, but we've suddenly started getting a problem with evaluations which are called from a SessionBean (via some reflection).
Every time we try and call a certain set of expressions they fail on a 'class xxx not found in namespace'. This happens both when the expression contains code like:
com.chubb.euz.SomeClass sc = new com.chubb.euz.SomeClass(); etc...
or
import com.chubb.euz.SomeClass; SomeClass sc = new SomeClass(); etc...
The strange thing is that when I remote debug it & look at the bsh Interpreter what I see is that it's NameSpace object has a table called ImportedClasses on it which before the eval() call contains just bsh.Interpreter and bsh.EvalError but after the eval() it then contains all of the classes I pull in as imports in the expression passed to it, yet it still manages to throw this damn 'class not found in namespace' error!
It still works whenever else it's called in the app (and this is only happening in our DEV environment). All I can think of now is that it's possibly something to do with the Thread that the beanshell is running on at this time, but that's just a guess as I know bugger all about Threads... I only think this because I can get the thing to work by stopping the processor which was built to run Events (EJB) generated in the app; resetting the Event's Task (regular class) to run again; then restarting the processor (not an option if this goes into PROD with the release!!!)
Unfortunately, re-factoring the validations we need to run at this point is not really an option, as this is all coming at the tail end of a new release & the amount of code changes & subsequent regression testing required would kill us.
This is on weblogic 8.1 - with the beanshell jar just embedded in the main application ear (I ran it with bsh.20b4.jar instead of the 1.3 version we were using but that has no effect).
Any ideas would be more than gratefully appreciated as this is doing my head in!!!Hi,
Thanks for the reply.
I am trying to reverse SAP tables. Initially the Reversal process stuck at Set MetaData step. I stopped the session and restarted it then Set MetaData completed successfully but Set FlexFields give the error.
Any idea?
Regards,
Arsalan. -
Oracle.forms.webutil.ole.OleFunctions class not found
Hi all,
I am getting oracle.forms.webutil.ole.OleFunctions class not found at design time in Forms Builder 10gR2 as well as at run time when working with webutil. Webutil is properly configured. I am using file uploading and downloading and it is working fine. but when I m working with CLIENT_OLE2, it is giving class not found exception. Can someone please help me to identify the problem.
Thanks in advance
Bilalhi
Forms [32 Bit] Version 10.1.2.0.2 (Production in this version the webutil is already installed but u have to sign jars and there is also some modifications
in formsweb.cfg.
please check this.
How to get up and running with WebUtil 1.06 included with Oracle Developer Suite 10.1.2.0.2 on a win32 platform
Solution
Assuming a fresh "Complete" install of Oracle Developer Suite 10.1.2.0.2,
here are steps to get a small test form running, using WebUtil 1.06.
Note: [OraHome] is used as an alias for your real oDS ORACLE_HOME.
Feel free to copy this note to a text editor, and do a global find/replace on
[OraHome] with your actual value (no trailing slash). Then it is easy to
copy/paste actual commands to be executed from the note copy.
1) Download http://prdownloads.sourceforge.net/jacob-project/jacob_18.zip
and extract to a temporary staging area. Do not attempt to use 1.7 or 1.9.
2) Copy or move jacob.jar and jacob.dll
[JacobStage] is the folder where you extracted Jacob, and will end in ...\jacob_18
cd [JacobStage]
copy jacob.jar [OraHome]\forms\java\.
copy jacob.dll [OraHome]\forms\webutil\.
The Jacob staging area is no longer needed, and may be deleted.
3) Sign frmwebutil.jar and jacob.jar
Open a DOS command prompt.
Add [OraHome]\jdk\bin to the PATH:
set PATH=[OraHome]\jdk\bin;%PATH%
Sign the files, and check the output for success:
[OraHome]\forms\webutil\sign_webutil [OraHome]\forms\java\frmwebutil.jar
[OraHome]\forms\webutil\sign_webutil [OraHome]\forms\java\jacob.jar
4) If you already have a schema in your RDBMS which contains the WebUtil stored code,
you may skip this step. Otherwise,
Create a schema to hold the WebUtil stored code, and privileges needed to
connect and create a stored package. Schema name "WEBUTIL" is recommended
for no reason other than consistency over the user base.
Open [OraHome]\forms\create_webutil_db.sql in a text editor, and delete or comment
out the EXIT statement, to be able to see whether the objects were created witout
errors.
Start SQL*Plus as SYSTEM, and issue:
CREATE USER webutil IDENTIFIED BY [password]
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp;
GRANT CONNECT, CREATE PROCEDURE, CREATE PUBLIC SYNONYM TO webutil;
CONNECT webutil/[password]@[connectstring]
@[OraHome]\forms\create_webutil_db.sql
-- Inspect SQL*Plus output for errors, and then
CREATE PUBLIC SYNONYM webutil_db FOR webutil.webutil_db;
Reconnect as SYSTEM, and issue:
grant execute on webutil_db to public;
5) Modify [OraHome]\forms\server\default.env, and append [OraHome]\jdk\jre\lib\rt.jar
to the CLASSPATH entry.
6) Start the OC4J instance
7) Start Forms Builder and connect to a schema in the RDBMS used in step (4).
Open webutil.pll, do a "Compile ALL" (shift-Control-K), and generate to PLX (Control-T).
It is important to generate the PLX, to avoid the FRM-40039 discussed in
Note 303682.1
If the PLX is not generated, the Webutil.pll library would have to be attached with
full path information to all forms wishing to use WebUtil. This is NOT recommended.
8) Create a new FMB.
Open webutil.olb, and Subclass (not Copy) the Webutil object to the form.
There is no need to Subclass the WebutilConfig object.
Attach the Webutil.pll Library, and remove the path.
Add an ON-LOGON trigger with the code
NULL;
to avoid having to connect to an RDBMS (optional).
Create a new button on a new canvas, with the code
show_webutil_information (TRUE);
in a WHEN-BUTTON-PRESSED trigger.
Compile the FMB to FMX, after doing a Compile-All (Shift-Control-K).
9) Under Edit->Preferences->Runtime in Forms Builder, click on "Reset to Default" if
the "Application Server URL" is empty.
Then append "?config=webutil" at the end, so you end up with a URL of the form
http://server:port/forms/frmservlet?config=webutil
10) Run your form.sarah -
Urgent ! Class not found error
Hi,
I am new to Java RMI and i am trying lot of example from books. Iam struck in HelloWorld example and i need your help urgently to solve this problem as i have to start my coursework.
When i compile all the class together by command "javac *.java", it compiles sucessfully but when i try to compile separtley by giving name of each class like javac HelloWorld.java, javac HelloworldImpl.java .... only the interface class compiles sucessfully. The implementation class has the error in extending UnicastRemoteObject and implementing remote interface class. But i wonder how it compiles sucessfuly when i compiled it together !
Ok, I have decided to compile the class together but iam not able to do more than that. When i tried to create a stub and skelton class by the command "rmic HelloworldImpl", it shows an error "Class not found". My professor said that the problem could be in classpath.
I am using XP Professional and i have set the path in system properties to C:\j2sdk1.4.2_05\bin and class path to C:\j2sdk1.4.2_05\lib but it doesn't make any difference. I have tried lot of stuff but i couldn't solve this problem. I need your advice or any suggestion to solve this problem.
Vinesh Thomashi
above discussion about classpath variable seems strange , myself also face such type problem, but when setting classpath it works for me, even sometimes without setting classpath it works fine for me but sometimes not,
so could any expert help us to know ,what is the permanent solution for such problems,
and also when i remove the classpath variable and set the path variable to the
jdk1.4\bin ( i means in the bin of any jdk)
is classpath variable have it's default settings so that it is able to find java api classes without setting classpath
because i never set classpath variable ......for running simple java program simple go to directory where my programs are put and run
javac *.java and
java ....it
please anybody explain this behaviour of classpath variable clearly -
Class Not Found in Server Application
I have set up a basic server application. It contains three files namely
Arith.java (implements the Remote interface)
ArithImpl.java (implements Arith.java the server) and
ArithApp.java which is the client Application
All of these are in the same package. I have compiled all of these files and I execute the rmic ArithImpl command from within the ArithImpl.java file via Runtime.getRuntime.exec(...);
The stub and skeleton files are generated and still I get a class not found exception. I have checked the class path and these files are within the class path.
If anyone could help me I'd greatly appreciate it. Thanks
public class ArithImpl extends UnicastRemoteObject implements Arith{
public static final String HOST_NAME = "localhost";
public static final String ROOT = "C:/Work/Thesis~1/LearningRMI/";
public static final String CLASSPATH = ROOT;
public static final String POLICY_FILE = CLASSPATH+"policies/rmi.policy";
public static final String RMI_LOCATION = "C:/Progra~1/java/jdk1.5.0_03/bin/";
String objectName;
public ArithImpl(String s) throws RemoteException{
super();
objectName = s;
public int[] add(int[] a, int[] b) throws RemoteException {
int c[] = new int[10];
for (int i=0; i<10; i++)
c[i] = a[i]+b;
return c;
public static void main(String[] args) {
System.setProperty("java.security.policy",POLICY_FILE);
System.setProperty("java.class.path",CLASSPATH);
String rmic = RMI_LOCATION+"rmic -vcompat -classpath "+CLASSPATH+" "+ArithImpl.class.getName();
String registry = RMI_LOCATION+"\\rmiregistry";
try{
Runtime rt = Runtime.getRuntime();
rt.exec(rmic);
rt.exec(registry);
catch (IOException e){
e.printStackTrace();
RMISecurityManager sm = new RMISecurityManager();
System.setSecurityManager(sm);
try{
Naming.rebind("//"+HOST_NAME+"/ArithServer", obj);
System.out.println("ArithServer bound in registry");
catch (Exception e){
e.printStackTrace();java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: Arith
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:385)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:240)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:595)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:343)
at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
at java.rmi.Naming.rebind(Naming.java:160)
at ArithImpl.main(ArithImpl.java:106)
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: Arith
at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:375)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:240)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassNotFoundException: Arith
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at sun.rmi.server.LoaderHandler.loadProxyInterfaces(LoaderHandler.java:707)
at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:651)
at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:588)
at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:628)
at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:294)
at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:238)
at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1494)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1457)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
... 9 more -
Class not found in applet using 2 jar files
I have an applet which has been working for years as a stand alone or connecting directly to a derby database on my home server. I have just changed it to connect to MySQL on my ISP server via AJAX and PHP.
I am now getting a class not found error in my browser, probably because I'm stuffing up the class path.
The HTML I am using to call the applet is:
<applet code="AMJApp.class"
codebase="http://www.interactived.com/JMTalpha"
archive="AMJ014.jar,plugin.jar"
width="500"height="500"
MAYSCRIPT style="border-width:0;"
name="jsap" id="jsap"></applet>The AMJ014.jar contains the applet and supporting class files.
The error message is strange to me because it refers to a class I noticed on another web page but which has nothing to do with my applet. Anyway, the message in full is:
load: class NervousText.class not found.
java.lang.ClassNotFoundException: NervousText.class
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: java.lang.ClassNotFoundException: NervousText.class
java.lang.UnsupportedClassVersionError: AMJApp : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.defineClassHelper(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.access$100(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: java.lang.UnsupportedClassVersionError: AMJApp : Unsupported major.minor version 51.0Thanks again.
The page code is:
<html>
<head>
<title>Applet to JavaScript to PHP</title>
</head>
<body>
<script type="text/javascript">
function updateWebPage(myArg)
document.getElementById("txt1").innerHTML=myArg;
if (myArg=="")
document.getElementById("cbxItem").innerHTML="";
return;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.onreadystatechange=function()
if (xmlhttp.readyState==4 && xmlhttp.status==200)
document.getElementById("cbxItem").innerHTML=xmlhttp.responseText;
xmlhttp.open("GET","putitem.php?id="+myArg,true);
xmlhttp.send();
</script>
<form>
<table border=1 align='center' cellpadding=0 cellspacing=0 >
<tr><td style='text-align:center; background-color:#C0C0C0'>Compiled Java Applet</td></tr>
<tr><td><applet code="AMJApp.class" codebase="http://www.interactived.com/JMTalpha" archive="AMJ014.jar" width="500"height="500" MAYSCRIPT style="border-width:0;" name="jsap" id="jsap"></applet> </td></tr>
<tr><td style='text-align:center; background-color:#C0C0C0'>HTML Textbox filled by JavaScript</td></tr>
<tr><td><textarea style='width:500px; height:50px' name='txt1' id='txt1'>Query goes here</textarea></td></tr>
<tr><td style='text-align:center; background-color:#C0C0C0'>HTML diagnostic messages rendered by PHP script</td></tr>
<tr><td><div id="cbxItem">PHP info will populate this space</div></td></tr>
</table>
</form>
</body>
</html>The URL of the problem page is:
http://www.interactived.com/JMTalpha/AMJTest.htm
The code in the page is based on the following test page, which works:
http://www.interactived.com/test5Applet.htm
And the Applet, before I made any changes can be seen at this address:
http://www.interactived.com/jartest0906.htm
Thanks again for you interest.
Edited by: 886473 on 21-Sep-2011 00:47 -
Not able to start the remote server - class not found exception
All,
I am quite new to RMI programming, although i am an experienced java programmer. I am facing a problem in starting the remote server program which i wrote for RMI. I am getting class not found exception for "stub" class eventhough the class is in the classpath.
Following is the error console:
cmd> java -classpath "D:\Eclipse_WorkSpaces\WS2\RMITests\classes" MyServerImplementation
GetNames error: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: MyServerImplementation_Stub
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: MyServerImplementation_Stub
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:396)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:359)
at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
at java.rmi.Naming.rebind(Naming.java:160)
at MyServerImplementation.main(MyServerImplementation.java:21)
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: MyServerImplementation_Stub
at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:386)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: MyServerImplementation_Stub
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:434)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:165)
at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:197)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
... 12 morePLEASE ADVISE HOW TO RESOLVE THIS...
Following are my classes:
MyRemoteInterface.java
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface MyRemoteInterface extends Remote {
public String[] getNames() throws RemoteException;
public class MyServerImplementation extends UnicastRemoteObject implements
MyRemoteInterface {
public MyServerImplementation()throws RemoteException{
super();
public String[] getNames() throws RemoteException{
return new String[]{"Name1","Name2","Name3","Name4"};
public static void main(String args[]) {
try {
// Create an object of the HelloWorldServer class.
MyRemoteInterface obj = new MyServerImplementation();
// Bind this object instance to the name "HelloServer".
Naming.rebind("rmi://localhost:1985/GetNames", obj);
System.out.println("GetNames bound in registry");
catch (Exception e) {
System.out.println("GetNames error: " + e.getMessage());
e.printStackTrace();
public class MyRMIClient {
*@param args*
public static void main(String[] args) {
try {
MyRemoteInterface remObj = (MyRemoteInterface) Naming.lookup("rmi://localhost:1985/GetNames");
System.out.println("Names are "+remObj.getNames());
catch(Exception e) {
System.out.println("Problem encountered accessing remote object "+e);
}That's a remote exception coming from the registry. You need to learn to recognize remote exceptions and their source, it's a mjaor source of confusion in RMI.
In this case it's the registry that can't find the stub class.
The stub class needs to be in the CLASSPATH of (i) the Registry and (ii) the client as well. Ditto the remote interface; ditto any application classes it refers to, and so on until closure.
The easiest way to achieve (i) is to start it in the server's JVM, with LocateRegistry.createRegistry().
Maybe you are looking for
-
File upload rate...
Hello all... Am I going crazy, or has the new skype been stripped off some useful stuff? In the old Skype, when one shared one or more files, you could hover over the progress bar to find the current upload rate (kb/s)... this was a piece of info
-
Manually zipping creates broken ePub-files?
Hi all, I'm using ADE for the purpose of testing how my ePub-files are rendered in different programs. For doing this, I manually tweak the contents of ePub-files, compress them, rename them and throw them into ADE and Stanza. Up till now I didn't su
-
I have recently on my powerbook received tghe following error: When launching a plugin, the editor won´t show up (ie the graphical editor), but the control page works just fine. Logic say: resource not available... any ideas
-
Reading All messages in plain text format
Is it possible to read all incoming mail messages received through a traditional POP3 account in plain text format as opposed to HTML? I am running my own POP3 server (hmailserver). Sometimes we are sent messages in HTML format. When they come in on
-
Premiere CS3 tries to load then crashes
I have this problem, after I've downloaded and installed some fonts which I extracted using winrar, when I then go to open Premiere Pro CS3 it gets to the loading screen then just before the projects window comes up it displays the message that premi