- Создание каталога с именем «makeAsst» в вашем каталоге ~/UnixCourse.
- Скопируйте файлы и каталоги для этого задания в этот каталог:
Код: Выделить всё
- cp -r ~cs252/Assignments/cookiej/* ~/UnixCourse/makeAsst/ - Use ls and more to examine the directory structure and files that you have obtained. - В этом новом каталоге создайте файл make, который при запуске make без параметров будет
Код: Выделить всё
- Compile the .java files (in the src/) directory, placing all resulting .class files into ~/UnixCourse/makeAsst/bin. - Collect all of the .class files from ~/UnixCourse/makeAsst/bin into a file ~/UnixCourse/makeAsst/cookie.jar. This jar file should be set up to run the program when invoked as (java -jar cookie.jar)
- Дайте команду:
Код: Выделить всё
~cs252/bin-s24/makeAsst
Я добрался до делаю make-файл, но постоянно получаю различные ошибки.
Код: Выделить всё
# Define source and destination directories
SRCDIR := src
BINDIR := ~/UnixCourse/makeAsst/bin
JARFILE := ~/UnixCourse/makeAsst/cookie.jar
# Define Java compiler
JAVAC := javac
# Define options for Java compiler
JAVACFLAGS := -d $(BINDIR) -classpath $(SRCDIR)
# Define Java archive tool
JAR := jar
# Define options for JAR tool
JARFLAGS := cvf
# Define the list of .java files to compile
JAVA_FILES := $(wildcard $(SRCDIR)/cs252/*.java) $(wildcard $(SRCDIR)/cs252/players/*.java)
# Define the list of .class files
CLASS_FILES := $(patsubst $(SRCDIR)/%.java,$(BINDIR)/%.class,$(JAVA_FILES))
# Define the default target
.PHONY: all
all: $(JARFILE)
# Rule to compile .java files
$(BINDIR)/%.class: $(SRCDIR)/%.java
$(JAVAC) $(JAVACFLAGS) $<
# Rule to create the JAR file
$(JARFILE): $(CLASS_FILES)
$(JAR) $(JARFLAGS) $@ -C $(BINDIR) .
# Rule to clean the compiled files
.PHONY: clean
clean:
rm -rf $(BINDIR)/*.class $(JARFILE)
Затем я добавил атрибут манифеста, создав файл Manifest.txt со строкой "Main-Class: cs252.Chomp" и использовал команду jar cmf Manifest.txt ~/UnixCourse /makeAsst/cookie.jar -C ~/UnixCourse/makeAsst/bin ., чтобы обновить файл jar, включив в него параметр манифеста.
Затем я запустил java -jar cookie. jar еще раз, и мне удалось запустить игру chomp. После этого я попытался запустить последнюю команду ~cs252/bin-s24/makeAsst, чтобы получить код назначения, но затем появилось это сообщение об ошибке, и мне не удалось его обойти:
Код: Выделить всё
cs_jrich096@europa:~/UnixCourse/makeAsst$ ~cs252/bin-s24/makeAsst
Checking basic compilation
Checking jar file
no main manifest attribute, in cookie.jar
After running "make", the jar file cookie.jar exists, but cannot be executed\n at (eval 1) line 68.
Подробнее здесь: https://stackoverflow.com/questions/784 ... e-jar-file
Мобильная версия