PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Eclipse Project ausserhalb von Eclipse nutzen



clumsy
02-09-2006, 10:38
Servus,

ich implementiere eine P2P-Anwendung auf Basis von JXTA.
Zum Programmieren nutze ich Eclipse. Nun habe ich ein Project angelegt und diverse JARs importiert (das gesamte JXTA-Framework). Dazu habe ich eine eigene kleine HelloWorld-Klasse geschrieben. Läuft auch alles...nur weiß ich nicht, wie ich das gesamte Projekt nun aus Eclipse rausbekomme, so dass ich es auf quasi jedem Rechner laufen lassen kann :confused: Wahrscheinlich stell ich mich einfach zu dumm an :rolleyes:

Wie bekomme ich das gesamte Projekt aus Eclipse raus, damit es auch ohne Eclipse läuft?


[clumsy@clumsy P2P_Accounting]$ ll
insgesamt 24
drwxr-xr-x 4 clumsy users 4096 2006-09-02 11:57 .
drwxr-xr-x 5 clumsy users 4096 2006-09-02 00:10 ..
-rw-r--r-- 1 clumsy users 742 2006-09-02 09:48 .classpath
drwxr-xr-x 3 clumsy users 4096 2006-09-02 09:48 .jxta
-rw-r--r-- 1 clumsy users 373 2006-09-02 00:10 .project
drwxr-xr-x 2 clumsy users 4096 2006-09-02 11:55 Test
[clumsy@clumsy P2P_Accounting]$ ll Test/
insgesamt 24
drwxr-xr-x 2 clumsy users 4096 2006-09-02 11:55 .
drwxr-xr-x 4 clumsy users 4096 2006-09-02 11:57 ..
-rw-r--r-- 1 clumsy users 2178 2006-09-02 11:21 FirstTest.class
-rw-r--r-- 1 clumsy users 1954 2006-09-02 11:21 FirstTest.java
-rwxr-xr-x 1 clumsy users 114 2006-09-02 11:55 runit.sh
-rwxr-xr-x 1 clumsy users 119 2006-09-02 11:55 runit.sh~
[clumsy@clumsy P2P_Accounting]$ cat .classpath
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path=""/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER "/>
<classpathentry kind="lib" path="/home/clumsy/jxta/jxta-src-2.4/dist/jxt a.jar"/>
<classpathentry kind="lib" path="/home/clumsy/jxta/jxta-src-2.4/dist/jxt aext.jar"/>
<classpathentry kind="lib" path="/home/clumsy/jxta/jxta-src-2.4/lib/java x.servlet.jar"/>
<classpathentry kind="lib" path="/home/clumsy/jxta/jxta-src-2.4/lib/log4 j.jar"/>
<classpathentry kind="lib" path="/home/clumsy/jxta/jxta-src-2.4/lib/org. mortbay.jetty.jar"/>
<classpathentry kind="lib" path="/home/clumsy/jxta/jxta-src-2.4/lib/bcpr ov-jdk14.jar"/>
<classpathentry kind="output" path=""/>
</classpath>


Habs so versucht: Eine runit.sh angelegt, die die JARs angibt:


$ cat runit.sh
#!/bin/sh
java -DJXTA_HOME=client -classpath /home/clumsy/jxta/jxta-src-2.4/dist/jxta.jar:/home/clumsy/jxta/jxta-src-2.4/lib/log4j.jar:/home/clumsy/jxta/jxta-src-2.4/lib/bcprov-jdk14.jar:. FirstTest
[clumsy@clumsy Test]$ ./runit.sh
Exception in thread "main" java.lang.NoClassDefFoundError: FirstTest (wrong name: Test/FirstTest)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java :620)
at java.security.SecureClassLoader.defineClass(Secure ClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader .java:260)
at java.net.URLClassLoader.access$100(URLClassLoader. java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java: 195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.j ava:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:3 06)
at sun.misc.Launcher$AppClassLoader.loadClass(Launche r.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 51)
at java.lang.ClassLoader.loadClassInternal(ClassLoade r.java:319)


Danke!

clumsy

PS: Hier (http://www.cip.ifi.lmu.de/~tundo/eclipse.jpg) ein Screen vom eclipse mit der Projektstruktur.

falke2203
03-09-2006, 08:58
Hi,

1.) Du solltest Jars mit *.class-Dateien verwenden, nicht die Quellen
2.) die runit.sh muss in dem Verzeichnis liegen, in dem das "Test"-Verzeichnis liegt (Anmerkung: per Konvention sollten Package-Bezeichner klein geschrieben werden)
3.) in der runit.sh rufst du dann das ganze über "java [Parameter] Test.FirstTest" auf

Damit sollte es dann eigentlich gehen.

clumsy
03-09-2006, 10:27
zu 1) Die Jars hab ich mir von der JXTA-Webseite runtergeladen...diese enthalten bereits .class-Dateien.

2) achso...habs aus dem HelloWorld Beispiel übernommen, da war die runit.sh im Test-Verzeichnis...habs jetzt verschoben und nach Punkt 3) angepasst...jetzt geht´s :)

Danke Dir!

clumsy