Including a jar file in another jar file in netbeans - java

I have created an applet and made its jar file in Netbeans. i am using a jar file in an applet.
I am calling the applet.jar in a jsp page. The applet works fine but the functionality it has to be achieved is through the another jar file which i was using in that applet. means how to include an external jar file in applet.jar so that it could also be available to that jsp page also when i will run the jsp page.

If you just need to make a jar file available to your applet code, you can just host it from your server and reference it in the <applet> tag. That might be easier than combining the jars, and easier to maintain.
There's a nice overview here, from which I take this example:
<applet code="main.class" codebase="/java" width="100" height="100" archive="applet.zip">
</applet>
...makes the classes in /java/applet.zip available to your application.
Update - the information about the APPLET tag in the Sun/Oracle documentation is comprehensive and easy to follow, i.e. http://docs.oracle.com/javase/1.4.2/docs/guide/misc/applet.html

Related

Passing from java to HTML

I have i problem, I made a program in java using eclipse compilator, the thing is that It has two packages and in each package there are 3 classes i have tried to insert this code in a html file useing the applet tag but the problem is that it doesnt works, i dont know how to do it, and its quite important
I have tried using applet tags and tried the .jar I found something like this
<applet codebase ="." code="zuve.ZuveApplet.class"
archive=".jar,1.jar"
height="1000" width="1000"/>
I recomend you do a short tutorial on Applets:
http://java.about.com/od/webapplications/ss/firstapplet_3.htm
It is quite easy and you may made a misstake at one of those important points:
Compile your source: This includes a.) having your .java files beeing transformed to .class files and b.) packaging everything into a .jar file (you can make a .zip and rename it to .jar by hand).
Link your applet: This is done like described here: http://docs.oracle.com/javase/tutorial/uiswing/components/applet.html. You want to have both of your different packages packed in ONE .jar and have that single jar defined as argument 'archive' while your argument Code has to point to your applet class (e.g. the one extending from either Applet or JApplet or something like that).
Make sure that paths are set properly, easiest way would be to have everything (the .html with the applet tag and the .jar with your applet code inside) inside the same folder.

Can't fix NoClassDefFound error in Java

I build project in eclipse - swing applet and now I'm trying to run it in a browser.
I have 3 packages, let's say they are called: "pkgApplet", "pkgFirst", "pkgSecond" with .class files. In pkgApplet I have class "main" with method main(). No matter what I do, I can't run this applet in browser. Currently my html code looks like this
<applet code="bin/pkgApplet/main" height="1000" width="1000"/>
Browser gives this error every time no matter how I modify applet tag:
NoClassDefFoundError with message bin/pkgApplet/main(wrong name: applet/main)
I tried using codebase attribute, packing applet into .jar file and using archive attribute, but nothing seems to work. Do you have any idea what am I doing wrong?
Your applet format should be:
<applet codebase="bin" code="pkgApplet.main" height="1000" width="1000"></applet>
bin is the default target directory (for Eclipse) so will require the codebase attribute as shown above. For this to work, your HTML file needs to be located in your project directory.
Note classes in Java start with uppercase, while package names are lowercase. Also its helpful to name classes describing what they do. You could have instead:
<applet codebase="bin" code="pkgapplet.MyMainApplet" height="1000" width="1000"></applet>
Do you realize that nothing in main will be called by your applet client? Any startup functionality should be placed in the init method.

java- How to build the executable for the applet application

I implemented the java applet application. I searching for the process of how to create the executable file for this application.I am not find any good solution. Please can anybody help me.
thanks
The executable of a Java applet is either a .jar file, or the .class directory.
You execute a Java applet within a web page. You place the .jar file or the .class directory in your web directory structure.
Here's an example HTML applet:
<applet code=NameOfApplet.class name=NameOfApplet archive=NameOfApplet.jar
width=300 height=300>
<param name="bgcolor" value="ffffff">
<param name="fontcolor" value="000000">
Your browser is not Java enabled.
</applet>
Further information can be found at How to Make Applets.
It's been a while since I've had to code an applet, but the archive parameter can include directories.
Instead of creating an Applet or JApplet, create a JFrame.
Jar the classes.
Add a manifest file that specifies the main-class
Double click the Jar to launch.
If you would like to make it a nicer experience for the end user, create a web page that uses deployJava.js to check that a suitable JRE is installed, then launch the JFrame using Java Web Start.
Otherwise, if you want to run the applet outside the browser, you can create the JAR file normally and then user appletviewer to launch it.
Executable applet is nothing but the .class file of the applet, which is obtained by compiling the source code of the applet. Compiling an applet is exactly the same as compiling an application. Therefore, we can use the Java compiler to compile the applet.
Assume that we have created a file called HelloJava.java for our applet. Here are the steps required for compiling the HelloJava applet.
Move to the directory containing the source code and type the following command: javac HelloJava.java
The compiled output file called HelloJava.class is placed in the same directory as the source.
If any error message is received, then we must check for errors, correct them and compile the applet again.

Embedding a java applet in Wordpress

I have an applet that works alright on this page. It just references the .class file. (unfortunately, I have lost the source, and the jar files.)
I want to reference it here, however it does not start. Probably because it cannot find the class file. the applet tag looks like this
<applet code="/applets/language/LanguageEngineApplet.class" width="1174" Height="402">
<embed code="/applets/language/LanguageEngineApplet.class" width="1174" height="402" type="application/x-java-applet" pluginspage="http://www.java.com/en/download/manual.jsp"/>
</applet>
I know the .class file is there, because I can link to it. So I'm stumped as to why this won't work.
I just put the applet in a page on it's own. The problem was not my Java version, it was the class name and the path and the package interacting somehow. I had to put it in a directory on its own, with the html file that referenced it in that directory.
You may want to look at the Java Deployment Toolkit
If you do decide to embed a Java applet inside WordPress and not outside, I just released a new plugin that easily allows you to do that. It uses shortcodes.
http://huyz.us/2011/the-easiest-way-to-embed-java-in-wordpress/
Hmmm, maybe I have to support uploading *.class files in your case. Let me know, if you need that.

Is it possible to declare an applet's classpath into the JAR and not into the applet tag?

I'm building an applet with a quite big classpath. (externalLib1.jar, externalLib2.jar, etc.)
MyApplet.jar, the applet's jar contains a Manifest.MF including a ClassPath attribute listing all the required jars.
ClassPath = externalLib1.jar externalLib2.jar externalLib3.jar externalLib4.jar etc.jar
Is there a way to load the applet without listing all the jars in the <applet> tag ?
I would like to have :
<applet code="MyApplet.class" codebase="mycodeBase" archive="MyApplet.jar"/>
and not :
<applet code="MyApplet.class" codebase="mycodeBase" archive="MyApplet.jar,externalLib1.jar,externalLib2.jar,externalLib3.jar,externalLib4.jar,etc.jar"/>
Is there a way to achieve this ?
Did I miss something, somewhere ?
Thank you for your help !
Using JNLP applets would seem the obvious move, although it does require the new plugin.
(Is there a particular problem with listing the jars in the HTML?)
You can unzip all the external binary classes from the external libraries. Then zip all of the classes along with your custom ones into a single jar. This will allow you to only have one jar declaration but you will have to modify your code and codebase attributes to ensure the jar structure is navigated properly.
This isn't ideal but would work. You would also be vouching for the external libraries if your signing your jar.
What is your concern with having a large classpath? Is it causing issues for you somewhere?

Categories