kommandozeile kompilieren mit externen jars

kirina

Mitglied
Hallo,

ich habe eine Art Plugin geschrieben, das jars von anderen Firmen verwendet. Diese sind nicht von sun oder so sondern wirklich extern. In Eclipse kann ich sie dank Maven Repository wunderbar verwenden und hab natürlich auch kein Problem mit dem kompilieren.

Will ich jetzt jedoch das ganze über die Kommandozeile kompilieren, bekomme ich immer den Fehler:

cannot find symbol
symbol : class <class name>

über eben die ganzen Klassen die ich anziehe.

Ich hab mit jetzt aus der Repo alle jars die gebraucht werden rausgesucht und sie unter src\main\resources reinkopiert

Dann hab ich folgende zwei Ratschläge ausprobiert:

1. javac MyClass.java -cp *mypath*\src\main\resources
2. javac MyClass.java -sourcepath *mypath*\src\main\

Beides ohne Erfolg...

Was muss ich machen, damit die externen jars beim kompilieren über die Kommandozeile mit angezogen und genutzt werden?

Meinem Plugin sollen später Parameter über die Kommandozeile mitgegeben werden, das ganze ist noch nicht fertig, aber ich würde gerne die erste Version testen, bzw weitere und mit würde es einfach am besten gefallen wenn ich das einfach schnell über die Kommandozeile kompilieren, bzw. hinterher ausführen kann.

Bis jetzt hab ich leider ansonsten irgendwie nur so tipps gefunden wie "Sie müssen import *blablabla* über ihren Code schreiben".....-.- das hab ich natürlich.... ich kann bloß leider nicht allzu gut mit der Kommandozeile in Bezug auf java umgehen *schäm*

Über eure Hilfe würde ich mich sehr freuen, ich hoffe ich hab alles geschrieben was ihr braucht, sonst schreib ich euch natürlich gerne noch was ihr wissen möchtet ;-)
 

zeja

Erfahrenes Mitglied
Ich verstehe nicht ganz warum du mit javac kompilieren willst und nicht Maven auf der Kommandozeile verwendest?

Ein
mvn clean compile
sollte doch gehen.
 

kirina

Mitglied
weil das ganze von einem anderen system abhängig ist, die wunderbaren leute aber leider irgendwas (mal wieder) in den sand gesetzt haben und damit das maven-tools einfach schön über deren ihre repo nicht zu benutzen ist :( und um mir das selber alles zu erstellen kenn ich mich viel zu wenig mit maven aus :(

achja, hab probiert das ganze als jar zu kompilieren (mit eclipse ging mal wieder nichts *grml*) über kommandozeile wollte er auch nicht. also hab ich das ganze über das firmen interne build tool zu nem jar gemacht (mit perforce) und wollte dann das ausführen, ging natürlich auch nicht ohne weiteres

nach langem suchen und der hilfe meines chefs haben wir dann endlich rausgefunden wie es (umständlich aber immerhin) geht.

1. manifest schreiben mit classpath und mit mainclass :D
(Main-Class: packet.packetchen.Klassenname
Class-Path: daserste.jar daszweite.jar dasdritte.jar )
ganz wichtig...leerzeichen und keine strichpunkte^^
2. alle jars die gebraucht werden in den selben ordner legen in dem eure jar liegt

-> et voila: java -jar meine.jar
geht doch glatt und ohne probleme, aber als schön bezeichne ich das nicht ;-)

das ganze hat mich, sagen wir 3-4 stunden gekostet (und hinterher denkt man sich, eigtlich war das jetzt gar nicht so schwer -.-)

danke auf jedenfall trotzdem für eure hilfe!
 

zeja

Erfahrenes Mitglied
Nächstes Mal fragst dann einfach hier, das hätte ich dir auch noch sagen können ;)

Aber das Problem mit maven habe ich nun trotzdem nicht verstanden.

Du hast doch nen pom.xml in deinem Projekt oder?