2011-02-11 12 views
26

He buscado esto, pero no pude encontrar o entender lo que encontré.
Ahora no soy un programador de Java, pero tengo la necesidad de compilar un solo archivo de Java en un programa Java existente (compilado). La fuente de este código Java es no disponible para mí, por lo tanto, no puedo compilar todo el proyecto.
No me interesa descompilar el proyecto original.Cómo compilar un único archivo Java

cómo hacerlo rápidamente esto usando sólo el JDK y javac? (A través de la línea de comandos es lo que prefiero.)

entiendo que para ello tendrá que ser desactivado la comprobación de errores fuera del archivo java sola, porque no puede leer las dependencias.

Gracias de antemano,
-Aidiakapi

EDIT: tengo el archivo JAR, gracias por la respuesta :)

Respuesta

14

Es necesario tener el frasco (s) que contiene todas las cosas de las que depende tu clase para compilarlo.

Luego, puede compilar la clase con

javac -classpath jar1:jar2 mypackage.MyNewClass 

Si no tiene acceso a los frascos originales, tendrá que crear clases de práctica y método etc (que no tienen que hacer nada, sólo estar allí para que su clase compile) Usar un IDE puede facilitar ambos procesos. (Eso es lo que es para;)

+0

Dice que no tiene la fuente, pero parece que tiene los frascos. Creo que debería estar bien sin burlarse. –

+0

No lo estoy haciendo funcionar. Tengo un archivo java (Client.java), y está en esta subcarpeta: net/client/Client.java El archivo jar está en el directorio raíz. Da errores en el; detrás de las importaciones. – Aidiakapi

+0

¿Cuáles son los errores? –

19

Por lo que yo puedo entender que desea volver a compilar un solo archivo de java y reemplazarlo en un archivo JAR existente ..

Así se compila ..

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

y volver a colocarlo en el frasco.

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

Cuestiones relacionadas