LINUX.ORG.RU

Java makefile jar

 , ,


0

1

Так получилось, что нужно собирать проект через make, обычно это делал нормальным способом через maven, поэтому столкнулся сейчас с проблемой.

Есть manifest

 
Manifest-version: 1.0
Main-Class: Main
Class-Path: libs/some.jar
и makefile
 
all: compile
clean:
	@-rm -rf main
compile: clean
	@javac -d . -classpath lib/some.jar src/project/java/**/*.java src/project/java/*.java
	@jar -cvfm app.jar MANIFEST.MF *.class **/*.class 

Делаю make, потом java -jar app.jar Так всё работает, но т.к. .class складываются в корень проекта, то это засоряет корневую директорию проекта, что неудобно.

И если я указываю папку куда нужно складывать .class файлы, то потом уже не могу нормально собраться jar-ник, при запуске он пишет что не может найти main class.

А я просто заменяю . на dir в makefile и добавляю в manifest путь к главному классу dir.Main

manifest

 
Manifest-version: 1.0
Main-Class: dir.Main
Class-Path: libs/some.jar
и makefile
 
all: compile
clean:
	@-rm -rf main
compile: clean
	@javac -d dir -classpath lib/some.jar src/project/java/**/*.java src/project/java/*.java
	@jar -cvfm app.jar MANIFEST.MF *.class **/*.class 

java -jar app.jar Пишет: Error: Could not find or load main class dir.Main

Видимо, нужно еще что-то изменить или поменять процесс запуска


Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.