Java - Ayuda creación jar con makefile

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

Ayuda creación jar con makefile

Publicado por Sonia (5 intervenciones) el 23/05/2020 18:10:07
Buenas tardes, tengo un problema urgente. Resulta que al ejecutar en el terminal "make jar" me sale "jar actualizado", cuando debería de crearse el .jar en el directorio indicado.
Adjunto capturas por si alguien ve mi error.

Muchísimas gracias
makefile-jar
terminal-2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda creación jar con makefile

Publicado por Tom (1831 intervenciones) el 23/05/2020 18:26:42
Las capturas de pantalla no son lo mejor para las consultas. Cuesta leerlas.
Make no es lo más apropiado para compilar java, las dependencias de los fuentes java no son tan sencillas de calcular. Hazte un script de ant, son muy sencillos (o un simple shell script sin más).
Te falta el fichero Manifest que los .jar deben llevar.
Echa un ojo aquí:

https://stackoverflow.com/questions/25735553/creating-a-makefile-for-jar-executable
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

Ayuda creación jar con makefile

Publicado por Sonia (5 intervenciones) el 23/05/2020 18:37:13
Me obligan a usar el makefile en la universidad :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda creación jar con makefile

Publicado por Tom (1831 intervenciones) el 23/05/2020 18:58:03
Cuando dice que ya está actualizado ... es simplemente porque existe el .jar. Haz make clean antes.

Prueba con algo parecido a esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
JAVAC=/usr/local/jdk/bin/javac
JAR=/usr/local/jdk/bin/jar
sources = $(wildcard *.java)
classes = $(sources:.java=.class)
 
.SUFFIXES: .java .class
 
.java.class:
	$(JAVAC) $*.java
 
all: clean MyJar.jar
 
MyJar.jar: $(classes)
	@echo "Manifest-Version: 1.0" > manifest.txt
	@echo "Class-Path: ." >> manifest.txt
	@echo "Main-Class: Main" >> manifest.txt
	@echo "" >> manifest.txt
	$(JAR) -cmf manifest.txt MyJar.jar $(classes)
 
clean:
	$(RM) MyJar.jar *.class
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar