Я пытаюсь скомпилировать и запустить файл Java с помощью Docker. У меня есть файловая структура:
./Repo/
Dockerfile
./libs/
org.json.jar
./out/
Program.class
./src/
Program.java
Мой Dockerfile выглядит примерно так:
FROM java:8-jdk-alpine
COPY /src /src/
COPY /out /out/
COPY /libs /libs/
RUN javac ..
CMD java ..
Я хочу иметь возможность компилировать файлы в src и выводить их, используяexternal libs Единственный способ, которым мне удалось это сделать, - это сначала записать CD в / src / и запустить следующее:
javac -d ../out -cp ../libs/org.json.jar Program.java
Но, безусловно, есть способ сделать это из каталога, в котором находится Dockerfile. как?
javac -d /out -cp /libs/org.json.jar /out/Program.java
Следующая проблема - это CMD, необходимая для запуска вышеуказанной программы. Я не уверен, как написать это.
Или я должен скопировать библиотеку json в папку out, где находится скомпилированная программа, и запустить следующую CMD:
java -cp "org.json.jar;" Server