Linux + Personal Java on StrongArm(iPaq or SA1111)?
I have watched the discussion here, it seems that mostly run the personal java in WinCE, so anybody successfully getting it work in Linux? As my SA1111 or iPaq is running in Linux and want to run with Personal Java with AWT support.
Can anybody help?
This was announced a while back...
The Blackdown Java-Linux Team is happy to announce the availability of
the release candidate 1 of Java2 SE v1.3.1 for Linux/ARM:
Please choose one of our FTP mirrors for downloading:
http://www.blackdown.org/java-linux/mirrors.html
Besides the J2RE there's a second file: additional-ipaq-stuff.tar.gz
It contains libraries and other files which are required to run Java
but are not part of the standard familiar distribution (libXp.so,
libXm.so, libBrokenLocale.so, 'standard symbols l' font)
The unmodified J2RE needs about 18m, if you remove one of the two
included VMs (classic green & classic native threads VM) and files you
don't need (candidates are for instance soundbank.gm, i18n.jar
libJdbcOdbc.so, libpreemptive_close.so, libioser12.so, ...), you may
get it down to 12 or 13M. You should be able to save even more space
by removing unneeded classes (e.g org.omg.*) from rt.jar.
* No SDK yet, I didn't have time to run the compiler testsuite yet
(the test-run will take approximately two weeks)
* MouseEvent.isPopupTrigger() and JPopupMenu.isPopupTrigger() are
somewhat useless on the iPAQ as they are bound to the right mouse
button. Any idea for a more sensible trigger?
* The default fonts are too large for the small display
* The default maximum heap size is 64m, you may want to reduce that
with to a smaller value (e.g. -Xmx20m)
* Some stuff is terribly slow (e.g. HTML rendering). If somebody
feels like writing a JIT compiler or porting HotSpot to ARM let me
know...
* No Mozilla plugin yet ;-)
* A small demo is available from http://blackdown.de/~jk/arm/IPAQDemo.jar
Similar Messages
-
Hi, I am confuse after reading all these stuff about personal java. I want to know, what do I need to do if I want to download personal java on my ipaq that uses windows CE. do I need to download jeode too or not. I appreciate any help.
I don't know if I'd go that far exactly...
I've had the most success with Jeode, but there is also Sun's pjava (beta, and not a full implementation), as well as CrEme: http://www.nsicom.com/products/creme.asp
-Brad -
Hi Everyone. Could anyone tell me how to use personal java as a runtime environment on my ipaq 3870?
I downloaded a bunch of personal java files for win32(assuming these are the ones i will need to use on my windows ce device), but i have no clue on what to do with them to use it as a runtime environment on my ipaq. There are a bunch of build directories and source directories, an emulation environment and osme other stuff. I see no way i can use all this to run java class files on my ipaq. Could anyone tell me what i should do to have a personal java runtime environment on my ipaq?
Thanks,
VinodThis was announced a while back...
The Blackdown Java-Linux Team is happy to announce the availability of
the release candidate 1 of Java2 SE v1.3.1 for Linux/ARM:
Please choose one of our FTP mirrors for downloading:
http://www.blackdown.org/java-linux/mirrors.html
Besides the J2RE there's a second file: additional-ipaq-stuff.tar.gz
It contains libraries and other files which are required to run Java
but are not part of the standard familiar distribution (libXp.so,
libXm.so, libBrokenLocale.so, 'standard symbols l' font)
The unmodified J2RE needs about 18m, if you remove one of the two
included VMs (classic green & classic native threads VM) and files you
don't need (candidates are for instance soundbank.gm, i18n.jar
libJdbcOdbc.so, libpreemptive_close.so, libioser12.so, ...), you may
get it down to 12 or 13M. You should be able to save even more space
by removing unneeded classes (e.g org.omg.*) from rt.jar.
* No SDK yet, I didn't have time to run the compiler testsuite yet
(the test-run will take approximately two weeks)
* MouseEvent.isPopupTrigger() and JPopupMenu.isPopupTrigger() are
somewhat useless on the iPAQ as they are bound to the right mouse
button. Any idea for a more sensible trigger?
* The default fonts are too large for the small display
* The default maximum heap size is 64m, you may want to reduce that
with to a smaller value (e.g. -Xmx20m)
* Some stuff is terribly slow (e.g. HTML rendering). If somebody
feels like writing a JIT compiler or porting HotSpot to ARM let me
know...
* No Mozilla plugin yet ;-)
* A small demo is available from http://blackdown.de/~jk/arm/IPAQDemo.jar -
Problems with JDBC on personal Java
Hi,
I am a PhD student in Napier University and work with PDAs and Java. I have installed Jeode 1.9 Runtime Environment which is a certified implementation of 1.2 Personal Java on my HP IPAQ PDA.
I have the following code that works fine on my desktop, however produces an exception on my PDA (ERROR: java.lang.ClassNotFoundException: sun/jdbc/odbc/JdbcOdbcDriver)
Thanks for your help!!!
The code:
import java.io.*;
import java.net.*;
import java.util.*;
import java.sql.*;
public class WhoAmI2
public static void main (String[] args)
String LocalIP = new String();
String LocalHome = new String();
try
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
/* the next 3 lines are Step 2 method 2 from above - you could use the direct
access method (Step 2 method 1) istead if you wanted */
String filename = "c:/CompInfo.mdb";
String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
database+= filename.trim() + ";DriverID=22;READONLY=true}"; // add on to the end
// now we can get the connection from the DriverManager
Connection con = DriverManager.getConnection( database ,"","");
Statement s = con.createStatement();
s.execute("create table Details ( OSName String, OSArch String, OSVer String, JavRunNam String, JavVMVer String, UserName String, UserCountry String, UserLang String, JavVMSpec String, JavRunVer String, JavVer String, Graphics String, SunArchDat String, SunCPUEnd String, SunUni String, SunCPUISA String, MainIP String, MainHost String, LocalIP String, LocalHost String )"); // create a table
try
// Properties p = new Properties(System.getProperties());
// System.getProperties().list(System.out);
InetAddress localaddr = InetAddress.getLocalHost () ;
System.out.println ("OS Name : \t\t" + System.getProperty("os.name")) ;
System.out.println ("OS Architecture : \t" + System.getProperty("os.arch")) ;
System.out.println ("OS Version : \t\t" + System.getProperty("os.version")) ;
System.out.println () ;
System.out.println ("Java Runtime Name : \t" + System.getProperty("java.runtime.name")) ;
System.out.println ("Java VM Version : \t" + System.getProperty("java.vm.version")) ;
System.out.println () ;
System.out.println ("Username : \t\t" + System.getProperty("user.name")) ;
System.out.println ("User Country : \t\t" + System.getProperty("user.country")) ;
System.out.println ("User Language : \t" + System.getProperty("user.language")) ;
System.out.println () ;
System.out.println ("Java VM Spec : \t\t" + System.getProperty("java.vm.specification.name")) ;
System.out.println ("Java Runtime Version : \t" + System.getProperty("java.runtime.version")) ;
System.out.println ("Java Version : \t\t" + System.getProperty("java.version")) ;
System.out.println ("Graphics : \t\t" + System.getProperty("java.awt.graphicsenv")) ;
System.out.println () ;
System.out.println ("Sun Arch Datamodel : \t" + System.getProperty("sun.arch.data.model")) ;
System.out.println ("Sun CPU Endian : \t" + System.getProperty("sun.cpu.endian")) ;
System.out.println ("Sun Unicode : \t\t" + System.getProperty("sun.io.unicode.encoding")) ;
System.out.println ("Sun CPU ISA : \t\t" + System.getProperty("sun.cpu.isalist")) ;
System.out.println () ;
System.out.println ( "main Local IP Address : " + localaddr.getHostAddress () );
System.out.println ( "main Local hostname : " + localaddr.getHostName () );
System.out.println () ;
InetAddress[] localaddrs = InetAddress.getAllByName ( "localhost" ) ;
for ( int i=0 ; i<localaddrs.length ; i++ )
if ( ! localaddrs[ i ].equals( localaddr ) )
System.out.println ( "alt Local IP Address : " + localaddrs[ i].getHostAddress () );
System.out.println ( "alt Local hostname : " + localaddrs[ i].getHostName () );
System.out.println () ;
LocalIP=localaddrs[ i].getHostAddress ();I have the following code that works fine on my
desktop, however produces an exception on my PDA
(ERROR: java.lang.ClassNotFoundException:
sun/jdbc/odbc/JdbcOdbcDriver)It looks as though Jeode doesn't come with the JDBC/ODBC bridge JDBC driver. You'll need to find another JDBC driver to use. -
How to download Personal Java and how to run the application
Hi,
From java.sun.com, which file has to be downloaded for develpoing the application in personal java.
How to run an application in peraonal java?
If you give me the steps it will be more helpful to me.
I couldn't find the samples for personal java anywhere?
If you give me links for basic samples with source code such as hello world and small games, it will be more helpful to me.
All of my doubts are very basic one.
Please help me.
Thanks in advance.
Regards,
Nagaraj.Sun has a beta implementation available for download (http://developer.java.sun.com/developer/earlyAccess/personaljava/) which will allow you to run Personal Java on a MIPS/SH3/StrongARM or XScale device running WindowsCE 2.0 or greater. You can also download the Personal Java Emulation environment (http://java.sun.com/products/personaljava/pj-emulation.html) which will allow you to develop and run personal java applications in a Windows or Solaris environment.
Most JDK1.1.8 compliant applications will run on Personal Java, so a Hello World program would look like the regular.
public static void main(String[] args) {
System.out.println("Hello World");
System.exit(0);
You can also purchase a full blown commercial implementation of Personal Java for PocketPC at handango.com. Do a search on Insignia Jeode for Dell. You can use this on any PocketPC/XScale pda.
To run a Personal Java program on Pocket PC. Deploy your jar to the Device and create a shortcut similar to this:
50#"\program files\Java\bin\pjava.exe" -setcwd "\program files\Java\pjtest" -classpath "\program files\Java\pjtest\pjtest.jar" -file "pjtest.testmain.class"
The number is arbitrary, but the paths need to point to the directory where you installed Personal java and your jar/application respectively. -
Is there a Java VM for the Palm OS and how do I get it. I would like a free one if possible.
Currently, there is no Personal Java VM for the PalmOS. The present Palm hardware doesn't meet the PJ spec minimum requirements. The MIDP4Palm download is a J2ME/CLDC implementation which allows you to build MIDP applications.
The new Palm Tungsten series includes a new, faster processor, but current configurations lack sufficient memory to implement a full PJ spec. The upcoming PDA profile will most likely also support MIDP applications and will, presumably, have implementations on both Palm and PocketPC PDAs. (maybe even Linux based pdas as well.)
There are no reported plans for a PalmOS, Personal Java or the succeeding "J2ME/CDC/Personal Profile" implementation in the future.
If you need to develop for the PalmOS, MIDP is your best choice right now. If you need to develop in Personal Java, go with PocketPC, if you can get a Personal Java VM for it... -
Personal Java on an HP Jornada 728
Greetings,
I've recently downloaded the Personal Java suite for the strong-ARM processsor (on my HP Jornada 728); the CAB file installed flawlessly but when I try to fire up the vm (using pjava.exe), all I get is a nasty 'cannot execute pjava.exe'. I've installed everything on a CF storage card. Rumours say that it must be able to run on this device ...
can some kind soul please tell me what I'm doing wrong?
thanks in advance and
kind regardsThank you for your reply -- I feared that I was the only one in this universe having problems with PJ. I managed to install the entire suite finally (it's a bit of a hack though). After a lot of fiddling, I figured out that the following steps actually do install PJ on my Jornada 728 --
1: install the cab file (say "\Storage Card\Program Files\Java")
2: open the cab file again on your workstation/pc and locate two files:
- Wcecom~1.003
- pjava.002
both are located in a "wce211\" subdirectory. Check the two corresponding files on your device, located in \Storage Card\Program Files\Java\bin" and replace them with the two files mentioned above, renaming them to
- wceCompat.dll
- pjava.exe
respectively. If you start pjava.exe, the jvm (sort of) works. Two nasty bugs remain though -- whenever stdin or stdout is used, by means of the System.in and System.out class objects, a 'console' window pops up, the cursor in that window moves accordingly, but no output characters are visible as if both foreground and background colors are set to white.
The other bug is a real showstopper -- when the vm is started from a command line (cmd.exe), a panic dialog shows up, telling (this is verbatim) 'cannot suspend 1024 (more?) threads'. If/when the jvm is started by double clicking a .class file, this dialog doesn't show up.
The silly thing is, I haven't been able to find any article/documentation etc. about this misbehaviour, even after googling myself silly. I found out that PJ-1-1-beta has been superceded by JME2 Personal Profile, but Sun hasn't released a version for the strongARM processor suite yet ... It's driving me nuts.
kind regards -
How to compile my java application for Personal Java??
i write a simple program and want to run it in PJEE.
program is:
import java.awt.*;
public class TestApp {
public static void main(String[] args) {
Frame f = new Frame();
f.pack();
f.setSize(300,300);
f.show();
and i compiled it using JDK1.4
javac TestApp.javathen i want to test it by using pjava
pjava TestAppbut i got a error message:
Error loading class TestApp: Bad major version numberplease tell me what it is mean and how i can debug it, thanks.hi, all
i have resolved my question by myself.
because:
|-> personal java
|
jdk1.1 -> jdk1.2 -> jdk1.4
so, i must compile the java file by using jdk1.1.x
:) -
Open a PDF file in linux using java
Hi..
How can I open a PDF file in linux using java.
I am able to open PDF in windows and mac using this code
in Windows
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + path_of_PDF);
in mac
Runtime.getRuntime().exec("open " + path_of_PDF);
But nothing is working with linux.
Please help
ThanksOne thread is enough:
http://forum.java.sun.com/thread.jspa?threadID=5267458 -
Open PDF file in linux using java
Hi..
How can I open a PDF file in linux using java.
I am able to open PDF in windows and mac using this code
in Windows
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + path_of_PDF);
in mac
Runtime.getRuntime().exec("open " + path_of_PDF);
But nothing is working with linux.
Please help
Thanksappi wrote:
Hi.. I found the JDIC binary files. There are different binaries for all the plateform. Is there any solution which is independent of plateform.Yes, and we already told you: Use JDK6, which has those libraries built into the standard class library.
How can I use these binaries in my existing project. does it work, If I place them at same place where other .class files are kept.Read the documentation of the JDIC project. I'm sure they answer this question in their FAQ. -
JDOM, JDK1.1.8 and Personal Java...
Has anyone succeeded in building a class with JDOM (XML), compiled with JDK 1.1.8 to run on a Personal Java ?
I'm trying to make a class that use JDOM, but I didn't even compile it on a JDK 1.1.8..Yes. I'm using JDOM extensively on PJava platform. I have recompiled jdom.jar (there were some problems with the version available from the download site for jdk1.1.8), collections.jar (to be in java.uitl package) and crimson.jar.
It works fine.
Stan Berka -
How Can I get personal java example source?
i want to know how to program with p-java.
How Can I get personal java example source?
and where can i get them?pjava is pretty much the same as regular java 1.1.x, so you could just look at any java examples. www.javasoft.com has a learning center with tutorials if that's what you're looking for
-
Problems with porting to Personal Java
Hi all,
I'm currently trying to port a java application to Personal Java to run on the jeode jvm. The application needs certain packages from Java standard Edition, packages like java.util.Properties.class etc. However when I add this package to the core jar of classes for jeode, my program still cannot see it. I keep getting a NoSuchMethod Error on java.util.Properties.setProperties. This method does exist, and I am calling it correctly.
I'm just wondering if anyone has met this sort of a problem with jeode? Also packages like java.lang.object and java.lang.string don't appear in the main jar file for jeode? Does anyone know if this is correct?
Many thanks for yor help in advance,
ShaneHi all,
I'm currently trying to port a java
a java application to Personal Java to run on the
jeode jvm. The application needs certain packages
from Java standard Edition, packages like
java.util.Properties.class etc. However when I add
this package to the core jar of classes for jeode, my
program still cannot see it. I keep getting a
NoSuchMethod Error on
java.util.Properties.setProperties. This method does
exist, and I am calling it correctly.
I suppose you mean java.util.Properties.setProperty(String, String) ? This API was added to Properties in Java 2, so it is not available in Personal Java. You will have to use put(Object, Object), which Properties inherits from Hashtable.
As a suggestion, try running JavaCheck on your project to find uses of APIs not contained in the pjava spec.
Regards,
Alex -
JMenuBar display quirks with some window managers on Linux with Java 6
When I run this code on Windows with Java 5 or Java 6, it works fine.
When on Linux with Java 5, it works fine.
When on Linux with Java 6 in KDE, it works fine.
When on Linux with Java 6 with twm or e17, the JMenu shows when I click on the JMenuBar, but goes away as soon as I release the mouse button. If I manually move or resize the window, it then works fine.
If I remove setLocationByPlatform(true), the menu bar works, but it does not position the window by platform, which is the desired behavior.
Am I doing something wrong, is there something wrong with both twm and e17, or is this a bug?
import java.awt.Dimension;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.WindowConstants;
public class Test extends JFrame {
public Test() {
super();
setDefaultCloseOperation( WindowConstants.EXIT_ON_CLOSE );
getContentPane().add( new Label( "Hello World" ) );
JMenuBar mainMenu = new JMenuBar();
setJMenuBar( mainMenu );
JMenu helpMenu = new JMenu();
mainMenu.add( helpMenu );
helpMenu.setMnemonic( 'H' );
helpMenu.setText( "Help" );
JMenuItem help_about = new JMenuItem();
helpMenu.add( help_about );
help_about.setMnemonic( 'A' );
help_about.setText( "About" );
help_about.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent evt ) {
System.out.println( "HELP!" );
pack();
setLocationByPlatform( true );
setVisible( true );
public static void main( String[] args )
throws Exception {
java.awt.EventQueue.invokeLater(
new Runnable() {
public void run() {
Test test = new Test();
}In 10.1.3, there's an option to disable the splash screen on the Environment Page in preferences (although, of course, it's not much use if you never get to the main window because of the dialog popping up behind the splash screen... :) )
The bug with the dialog appearing behind the splashscreen is fixed in the upcoming 11g release. FWIW, it's a problem that appears to be unique to X-based systems, where for some reason the splashscreen window ends up with some super-ueber topmost property that forces all other windows to go behind it.
There's also a command line flag to suppress the splashscreen in 11g.
Thanks,
Brian -
JavaCard applications on SIM accessing personal Java applications
Are personal java applications also applets just like Java Card Applets.
Also i am programming the SIM of the mobile phone which is a Java Card.
How can a Personal java application on the phone communicate with a JavaCard application on the card or vice versa. Please Note that for the user they are similar.i.e. they exist side-by-side on the same menu of the phone with the user having no clue that the application resides on the phone ( a personal java application) or on the card( a javacard application).
Can anyone tell me of some way for one personal java application to access a JavaCard application?
Thanks
SKhanAt the moment there exist no way to access the Java Card / smartcard in a J2ME/personal Java device. Currently we are working in JSR177 on the problem.
Maybe you are looking for
-
How to introduce blank line separator in Interactive Report
Hi, I've an Interactive Report that shows date-ordered records (game fixtures for our local Ice Hockey team). I'm using highlights and filters to make the output more "meaningful". Any advice on how to introduce a horizontal blank-record "gap" in the
-
How do I save a SapScript spool in text file?
-
IPod won't update even though it's connected
Whenever I connect my iPod to my computer, it either switches from "Do not disconnect" mode to "OK to disconnect" without even updating! There's nothing wrong with my USB port that I know of, so I'm guessing it's the iPod. Help! Gateway EV700 Windo
-
Inbound 810 Vendor Invoice IDoc Integration
Greetings, I need to quickly setup an inbound 810 invoice integration in a 46C ERP environment. I would like to leverage the INVOIC02 IDoc and it's accompanying ALE services to import vendor invoices into A/P. These vendors are finished goods vendors
-
Extended notification - only substitute should receive notification
Hello! We have set up extended notification to send emails to managers with new approval-workitems in his/hers inbox/UWL. Is it possible to send email to the substitute only, and not to the manager as well, for those managers who have an active subst