2011-02-11 6 views
26

J'ai cherché ceci, mais je n'ai pas pu trouver ou comprendre ce que j'ai trouvé.
Maintenant, je ne suis pas un programmeur Java, mais j'ai besoin de compiler un seul fichier Java dans un programme Java (compilé) existant. La source de ce code Java est et non disponible pour moi, donc je ne peux pas compiler l'ensemble du projet.
Je ne suis pas intéressé par la décompilation du projet d'origine.Comment compiler un seul fichier Java

Comment faire rapidement cela en utilisant seulement le JDK et javac? (Je le préfère à la ligne de commande.)

Je comprends que pour ce faire, la vérification d'erreur en dehors du fichier java unique devra être désactivée, car elle ne peut pas lire les dépendances.

Merci à l'avance,
-Aidiakapi

EDIT: J'ai le fichier JAR, merci pour la réponse :)

Répondre

14

Vous devez avoir le pot (s) qui contient tous les les choses dont votre classe dépend pour le compiler.

Vous pouvez ensuite compiler la classe avec

javac -classpath jar1:jar2 mypackage.MyNewClass 

Si vous n'avez pas accès aux Jars d'origine, vous devrez créer des classes et des simulacres méthode etc (qui n'ont rien à faire, juste être là-bas pour que votre classe compile) L'utilisation d'un IDE peut faciliter les deux processus. (C'est ce qu'il est pour;)

+0

Il dit qu'il n'a pas la source, mais il sonne comme il le fait que les pots. Je pense qu'il devrait aller bien sans faux-semblants. –

+0

Je ne vais pas le faire fonctionner. J'ai un fichier java (Client.java), et il se trouve dans ce sous-dossier: net/client/Client.java Le fichier jar se trouve dans le répertoire racine. Il donne des erreurs à la; derrière les importations. – Aidiakapi

+0

Quelles sont les erreurs? –

19

Pour autant que je peux comprendre que vous voulez recompiler un seul fichier java et le remplacer dans un fichier jar existant ..

donc vous compilez il ..

cmd>javac -classpath jar1.jar;jar2.jar my.company.MyClassToReplace.java

et de le remplacer dans le pot.

cmd>jar uf myJarFile.jar my/company/MyClassToReplace.class

Questions connexes