Odpalanie aplikacji pod Personal Java

  • 22 Odpowiedzi
  • 4528 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

Odpalanie aplikacji pod Personal Java
« dnia: Maj 23, 2005, 21:09:55 »
Moze ktos mi pomoc odpalic apliakcje pod Personal Java. Kompiluje swoj programik w javie (na pc) pod jdk 1.1.8 (kompatybilny z personal java). Otrzymuje plik .class. Przegrywam go do palmika, albo wrzucam na emulator, naciska, czekam chwilke i wyskakuje mi ze brak danej klasy ("Cannot find class "xxx"). Trzeba pewnie ta klase z mojego programiku jakos dograc, albo ustawic classpath (tylko ze ja nie wiem jak to sie robi na ppc). Potrzebuje tez dograc pare pakietow (swing, commapi) - ale rowniez nie wiem jak to sie robi.

Please HELP !!!

[Dodano: 2005-05-23 21:15:38]
P.S. Moze ktos rowniez wie jak odpalac wlasne aplikacje pod Jeode lub/i J9 IBM. Jesli tak pleas o info...
Moj mailik yazoo22@o2.pl; gg:3763936

*

Offline kanczug

  • ******
  • 19211
    • http://www.pdaclub.pl
Odpalanie aplikacji pod Personal Java
« Odpowiedź #1 dnia: Maj 23, 2005, 21:19:08 »
A masz Jave na PPC?

Odpalanie aplikacji pod Personal Java
« Odpowiedź #2 dnia: Maj 23, 2005, 21:32:05 »
Co to znaczy czy mam java??

No zainstalowalem sobie Personal Java i teraz probuje jakis program odpalic (tzn. probuje odpalic plik xxx.class) i wyskakuje mi ze nie moze znalezc klasy tej xxx)

*

Offline RMK

  • **
  • 157
    • http://przemelek.blogspot.com
  • Sprzęt: ASUS A636N
Odpalanie aplikacji pod Personal Java
« Odpowiedź #3 dnia: Maj 24, 2005, 08:31:15 »
U mnie wystarczy clicknac na plik .class i wszystko samo zaczyna dzialac. A jezeli uzywasz jakichs niestandardowych klas to stworz plik .lnk postaci:
114#"\Program Files\Java\bin\pjava.exe" -setcwd \katalogPracyProgramu -classpath CiagKlasZClassPath nazwa.class

gdzie pierwsza liczba 114# do czegos jest, ale moze byc inna ;), sciezka do pjava.exe jest zwykle wlasnie taka jaka napisalem, katalogPracyProgramu to katalog w ktorym chcesz by program pracowal [mozliwe, ze bez tego sie obejdzie], CiagKlasZClassPath to zawartosc twojego classpath ktor chcesz podac JVM, a nazwa.class to nazwa klasy.

Aja, nie jestem taki madry zeby to samemu wymyslec ;) po prostu sciagnalem kiedys kompilator Java'y dla PPC i tam jest wlasnie taki plik .lnk ;)

Odpalanie aplikacji pod Personal Java
« Odpowiedź #4 dnia: Maj 24, 2005, 10:41:40 »
Zastosowalem sie do twoich wskazowek i wyskakuje mi teraz "Invali used". Swoj plik umiscilem w katalogu \program files\java\bin\ w pliku .lnk podalem sciezke do pjava (j.w.), podalem sciezke do mojego pliku, a classpath ustawilem na moj plik (\program files\java\bin\). No i teraz wyskakuje mi "Invalid used". Jak zrobic zeby dzialalo ??!! Uzywam w tym pliku (antek.class) swojej klasy ale nie wiem jak ja zainportowac do Personal Java.

HELP !!!!!!!!!!!!!!!!!!!!!!!!!!!!

*

Offline RMK

  • **
  • 157
    • http://przemelek.blogspot.com
  • Sprzęt: ASUS A636N
Odpalanie aplikacji pod Personal Java
« Odpowiedź #5 dnia: Maj 24, 2005, 11:10:41 »
Zalozmy, ze to wyglada tak:

Class1.java

public Class Class1
{

private Class2 cosik;

public Class1()
{
 cosik = new Class2();
}


public static main(String[] argc)
{
  new Class1();
}

}


plik Class2.java

public Class Class2
{
 public Class2()
 {
   System.out.println("Plum");
 }
}

po skompilowaniu masz 2 pliki .class, sa to Class1.class i Class2.class

teraz wywolanie pjava.exe powinno wygladac mniej wiecej tak [przy zalozeniu, ze pliki sa w katalogu \java\classes].
pjava.exe -setcwd \java\classes -classpath . Class1

Powinno dzialac, ale glowy nie dam, nie testowalem.

Odpalanie aplikacji pod Personal Java
« Odpowiedź #6 dnia: Maj 24, 2005, 12:53:26 »
Dzieki poraz kolejny RMK :):):)!!!

Zabieram sie do testowania... Mam jeszcze pytanko jak pod ppc wpisac ta komende pjava.exe -setcwd \java\classes -classpath . Class1. Musze utworzyc jakis plik .lnk i w nim to wpisac ?? I potem apliakcje otwierac tym plikiem?? Czy mozna jakos tak jak sie to robi w pc z lini komend to wywolac ??

*

Offline RMK

  • **
  • 157
    • http://przemelek.blogspot.com
  • Sprzęt: ASUS A636N
Odpalanie aplikacji pod Personal Java
« Odpowiedź #7 dnia: Maj 24, 2005, 13:47:44 »
Tak jak pisalem wyzej ;)
napisz sobie plik .lnk o tresci:
114#"\Program Files\Java\bin\pjava.exe" -setcwd \katalogPracyProgramu -classpath CiagKlasZClassPath nazwa.class

pierwszy numerek mozesz miec inny

mozesz tez chyba napisac plik .bat w ktorym uzyjesz praktycznie tej samej komendy, ale bez tego 114#

Duzo tu teoretyzuje bo sam sie PJava bawilem na razie dosc malo :)

Odpalanie aplikacji pod Personal Java
« Odpowiedź #8 dnia: Maj 24, 2005, 16:38:08 »
Kurde nie wiem przetestowalem chyba wszystkie mozliwosci i nic dalej wyskakuje ze nie moze zlokalizowac klasy. Albo cosik zle robie albo to mnie po prostu nie lubi :( Ten plik xxx.class moze byc na karcie pamieci czy musi byc skopiowany do katalogu java??

Moze ktos jeszcze cos doradzi bo juz normalnie nie mam sily, a bardzo mi zalezy zeby to zadzialalo !!


*

Offline RMK

  • **
  • 157
    • http://przemelek.blogspot.com
  • Sprzęt: ASUS A636N
Odpalanie aplikacji pod Personal Java
« Odpowiedź #9 dnia: Maj 24, 2005, 18:35:30 »
A to "Cannot find class..." pojawia sie dla ktorej klasy? Dla tej odpalanej, czy tej ktora wykorzystujesz?
Opisz jak nazywaja sie klasy, gdzie sie znajduja i jak wywolujesz pjava.exe, moze cos sie uda wymyslec.

Odpalanie aplikacji pod Personal Java
« Odpowiedź #10 dnia: Maj 24, 2005, 18:53:19 »
OK !! A wiec sprawa ma sie tak !! :)

O to taki sobie kod zrodlowy:

public class antek {
   public char[] zmienna = new char[100];
   
   public antek(){
      
   String m = "fdg,3455,945,N,45666,E,656565",tab[];
   tab = m.split(",");
   m.getChars(0,m.length(),zmienna,0);

   for (int i = 0; i < tab.length; i++)
      System.out.println(tab);
   }
   
   public static void main(String[] args){
      
      antek a = new antek();
      }
}

Skompilowalem go pod eclipse i otrzymalem plik antek.class i teraz chodzi mi o to aby uruchomic ten program pod personal java. Wgralem do do ppc i kiedy naciskam na niego pojavia sie "Cannot find class antek". Mozesz mi doradzic jak zrobic ten plik .lnk. Moze (a raczej napewno) :) cos zle robilem. Pjava mam w katalogu \Program File\java (i tam odpowiednio \bin itp.). Jak mam skonstruowac ten plik .lnk i gdzie przegrac ten plik antek.class zeby dzialalo. A moze cos innego trzeba wykonac, zeby to dzialalo. Znalazlem cos ze aby dodac nowe klasy trzeba cos w rejestrze pozmieniac, ale dokladnie nie bylo napisane co.

*

Offline RMK

  • **
  • 157
    • http://przemelek.blogspot.com
  • Sprzęt: ASUS A636N
Odpalanie aplikacji pod Personal Java
« Odpowiedź #11 dnia: Maj 24, 2005, 19:14:47 »
A moze bys skomilowal ten kod dla Java'y 1.1? ;)
Takie zachowanie wystepuje gdy plik jest skompilowany dla jakiejs wyzszej Java'y.
Przy okazji zajrzyj do katalogu \Program Files\Java\Welcome i odpal tam znajdujacy sie plik Welcome.class

Popracuj tez nad coding standardem, bo ten kod niczego poprawnego nie przypomina.

Odpalanie aplikacji pod Personal Java
« Odpowiedź #12 dnia: Maj 24, 2005, 20:04:27 »
Ok poszlo :):):)

DZIEKI WIELKIE :):):)

Mam jeszcze jedno pytanko. Jak dostac sie do okna konsoli, bo caly czas jest zakrywane przez okno "Java program exit" i jak cos mi sie tam wyswietla to nie moge zobaczyc... A jak zamkne to okno "java exit" to konsola tez sie zamyka. Moze to sie gdzies w pliku zapisuje??

Odpalanie aplikacji pod Personal Java
« Odpowiedź #13 dnia: Maj 26, 2005, 22:07:59 »
No i wszystko chodzilo pieknie dla kilku przykladowych aplikacji (kompilowalem pod eclipse i zaznaczalem opcje dla jdk 1.1), ale gdy chcialem uruchomic swoja aplikacje (rowniez skompilowalem pod jdk 1.1) to znowu wyskakuje mi to :( cudowne :( okienko "Cannot find class xxx". Co tu robic czemu jakies przykladowe aplikacje dzialaja a moja nie chce, moze za duzo lini kodu :) (bedzie kolo 300). Nie wiem moja aplikacja sklada sie z dwoch klas. Oby dwie sie ladnie kompiluja. Przegrywam je do ppc odpalam ta z mainem i wyskakuje "Cannot find class xxx" (xxx to jest ta klasa z main). Moze ktos cos doradzi...

*

Offline RMK

  • **
  • 157
    • http://przemelek.blogspot.com
  • Sprzęt: ASUS A636N
Odpalanie aplikacji pod Personal Java
« Odpowiedź #14 dnia: Maj 26, 2005, 22:31:26 »
Z moich eksperymentow wynika, ze jedyna sytuacja gdy pojawia sie "Cannot find class <<nazwa>>" gdy probojesz odpalic nazwa.class jest sytuacja gdy to nazwa.class jest skompilowane dla wyzszej JVM niz 1.1
Sprawdz jeszcze raz ustawienia Eclipse'a, albo sproboj skompilowac to przy pomocy javac'a z opcja -target

Moje eksperymenty wykazaly tez, ze nie moze to byc sytuacja taka, ze Twoja klasa uzywa jakiejs skompilowanej dla wyzszej Java'y klasy bibliotecznej, ani ze probojesz ladowac jakas klase nieisniejaca. W obu takich przypadkach leci wyjatek, ktory jest widoczny na konsoli.

Odpalanie aplikacji pod Personal Java
« Odpowiedź #15 dnia: Maj 26, 2005, 23:02:08 »
Ok !!! Dzieki !!!
Sprobuje z tym javac -target (zapomnialem zupelnie o tej opcji) :)

A wiesz moze jeszcze jak dodac classpath do personal javy ??
Chodzi mi o to iz znalazlem commapi dla pocket pc i chcialbym to dodac do JVM. Mam tez swinga ponoc dzialajacego pod pocket pc ale rowniez nie wiem za bardzo jak go dodac. Wyczytalem ze cos ponoc trzeba w rejestrze pogrzebac ale dokladnie jak i co nie bylo napisane :(

*

Offline RMK

  • **
  • 157
    • http://przemelek.blogspot.com
  • Sprzęt: ASUS A636N
Odpalanie aplikacji pod Personal Java
« Odpowiedź #16 dnia: Maj 26, 2005, 23:17:05 »
Olac rejestr!!! To podle wymysly ludzi z Microsoftu!!! Niech zyja programy, ktore mozna swobodnie przenosic miedzy katalogami!!! I Java na to pozwala :)
Uzyj magicznej opcji -classpath Luke ;)
Czyli wracamy kilka postow wyzej i czytamy dokladnie, ze mozna stworzyc plik .lnk w ktorym bedzie wywolanie pjava.exe. Teraz rozwazmy przyklad. Dla ulatwienia zalozmy, ze mamy pakiety comm.jar i swing.jar, oba umieszczone sa dla niepoznaki w katalogu \java\lib\ w takim przypadku nasz classpath bedzie wygladal najpewniej o tak:
-classpath .;\java\lib\comm.jar;\java\lib\swing.jar

Nalezy pamietac, ze Java widzi pakiety jako katalogi, wiec nie wystarczy wskazac katalogu gdzie sa pakiety .jar, trzeba jeszcze wskazac te pakiety. Dlatego wlasnie samo \java\lib nie wystarczy i musi byc \java\lib\comm.jar, to "." na poczatku wskazuje JVM, a dokladniej to chyba classloaderowi, ze plikow .class ma poszukiwac takze w katalogu odpalenia programu.

Odpalanie aplikacji pod Personal Java
« Odpowiedź #17 dnia: Maj 26, 2005, 23:25:47 »
Dzieki Brachu !!!!

Chyba jestem za bardzo rozkojarzony i zmeczony bo zapomniale ze kilka postow wyzej wszystko ladnie wyjasniles :) Jeszcze raz wielkie dzieki... Przystepuje do dzialania... mam nadzieje ze sie uda...

Odpalanie aplikacji pod Personal Java
« Odpowiedź #18 dnia: Maj 27, 2005, 00:10:13 »
Czytalem ten artykul i wlasnie dzieki niemu postanowilem dolaczyc sobie swinga do pjavy. Jednak jest to jak na razie bardziej przyszlosciowe zajecie, obecnie zalezy mi glownie na tym aby "podpiac" do pjavy bibliotego portu szeregowego comm.jar (http://www.teilo.net/software/CEJavaComm/?expand=/software) i odpalic w koncu moja aplikacje (bo zaliczenie mi przepadnie !!!)

Odpalanie aplikacji pod Personal Java
« Odpowiedź #19 dnia: Maj 31, 2005, 14:45:56 »
Kurde chyba mnie to naprawde nie lubi :(;(
Kompilowalem zarowno pod eclipse (uzywalem kompilatora 1.1) jak z linii komand z opcja -target 1.1. I dalej jak zalanczam apliakcja wyskakuje to "wspaniale" Cannot find class, nie mam pojecia co juz mam robic...Moze ktos cos jeszcze doradzi...

Odpalanie aplikacji pod Personal Java
« Odpowiedź #20 dnia: Czerwiec 01, 2005, 17:45:56 »
Ok !!! Aplikacja dziala i to nawet calkiem niezle !!! Tylko podczas dostepu do portu wyskajue mi jakis blad... Zrobilem wszystko tak jak bylo napisane na stronie http://www.teilo.net/software/CEJavaComm/docs.php?expand=/software/CEJavaComm
no ale dalej cos odczyt z portu nie chce dzialac. Moze ktos sie bawil juz z portem szeregowym na pockecie i by sie podzieli jakimis spostrzezeniami. Co trzeba zrobic aby sie do tego portu dostac w javie ?? Powgrywalem wszystkie pliki, poustawialem classpath no i wyskakuje jakis dziwny blad (jakby od rejestru).

Jak ktos wie jak sie dobrac do portu szeregowego w javie prosze o info

Odpalanie aplikacji pod Personal Java
« Odpowiedź #21 dnia: Czerwiec 04, 2005, 23:00:20 »
Ok !!! Juz wszystko dziala !!!

Dzieki RMK !! :):):)

Odpalanie aplikacji pod Personal Java
« Odpowiedź #22 dnia: Czerwiec 06, 2005, 12:21:24 »
Jeszcze jedno male pytanko...

Jak odczytuje dane z gps (mam odbiornik wbudowany - Acer n35 - na com8) to jakos dziwnie je odbieram. Program jest tak zoorganizowany ze pokazuje ile znakow jest odczytanych. I zreguly jest to mala liczba (od 0 - 10). Mam aplikacje dzialajaca na pc i wiem jak wyglada protokol NMEA i ze powinno byc wiecej tych danych (duzo wiecej !!!). Kozystam rowniez z innego programu na ppc i on odczytuje wszystkie dane (bedzie tego z 6 lini po 30 znakow w kazdej). Dlaczego moj program czyta tylko sczatkowe informacje z gps. Wiem ze trzeb ustawic timeout i baudrate. Robilem to i nie pomaga. Ktos wie jak usunac ten problem.

[Dodano: 2005-06-06 12:28:32]
Jeszcze jedno male pytanko...

Jak odczytuje dane z gps (mam odbiornik wbudowany - Acer n35 - na com8) to jakos dziwnie je odbieram. Program jest tak zoorganizowany ze pokazuje ile znakow jest odczytanych. I zreguly jest to mala liczba (od 0 - 10). Mam aplikacje dzialajaca na pc i wiem jak wyglada protokol NMEA i ze powinno byc wiecej tych danych (duzo wiecej !!!). Kozystam rowniez z innego programu na ppc i on odczytuje wszystkie dane (bedzie tego z 6 lini po 30 znakow w kazdej). Dlaczego moj program czyta tylko sczatkowe informacje z gps. Wiem ze trzeb ustawic timeout i baudrate. Robilem to i nie pomaga. Ktos wie w czym tkwi problem i jak go usunac.