Так получилось, что нужно собирать проект через make, обычно это делал нормальным способом через maven, поэтому столкнулся сейчас с проблемой.
Есть manifest
Manifest-version: 1.0
Main-Class: Main
Class-Path: libs/some.jar
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
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
Видимо, нужно еще что-то изменить или поменять процесс запуска