Как скомпилировать функцию .java-файла и прочитать аргумент arg из linux linux? [закрыто]

Простым решением является использование команды dd.

Чтобы создать резервную копию раздела диска (например, / dev / sda1), выполните следующую команду:

dd if=/dev/sda1 of=~/sda1_backup

] и для восстановления:

sudo dd if=~/sda1_backup of=/dev/sda1

Для получения дополнительной информации о команде dd см. man dd.

Чтобы уменьшить пространство, используемое резервными изображениями, вы можете использовать [ f5], bzip2 и т. д. для сжатия изображений. Если вы это сделаете, вам нужно будет распаковать изображения перед восстановлением.

0
задан 23 January 2018 в 20:00

2 ответа

Поскольку ваш заголовок также упоминает компиляцию, и пока я предполагаю, что у вас есть исходный код java, который вы хотите использовать, я решил, что сделаю это максимально полным, чтобы я также предоставил исходный код образца.

структура каталогов для простоты - / mainTest, например root и папку mainTest. В нем есть исходный файл java, называемый phpFunction.java

Исходный код java выглядит следующим образом

package mainTest; public class phpFunction { public phpFunction() { } public static void main(String[] args) { //our input is a string, example "25", convert it into a number int inputArg1 = Integer.parseInt(args[0]); //will hold a value to be output int outputValue = -1; //call a method with our input outputValue= multiplyInput(inputArg1); //print the output to std out System.out.println(outputValue); } //simply multiplies the input value by 2, returns results private static int multiplyInput(int inputValue){ return inputValue*2; } }

Исходный код, как указано в комментариях, просто принимает одно значение как входное и умножает его на два и отправляет результаты в стандартное.

Чтобы скомпилировать его, вам нужно убедиться, что у вас установлен java jdk, вы можете проверить, выполнив

locate javac

Если вы его не установили, установите его (вы также можете скомпилировать код в другом месте, который мог бы установить его)

Из запуска корневого каталога

javac mainTest/phpFunction.java

Вы закончите с файлом phpFunction.class в каталоге mainTest

Чтобы запустить его как тест

java -cp . mainTest/phpFunction 25

Где 25 - это аргумент, который вы хотите передать, выход будет

$ java -cp . mainTest/phpFunction 25 50
2
ответ дан 17 July 2018 в 22:42

Поскольку ваш заголовок также упоминает компиляцию, и пока я предполагаю, что у вас есть исходный код java, который вы хотите использовать, я решил, что сделаю это максимально полным, чтобы я также предоставил исходный код образца.

структура каталогов для простоты - / mainTest, например root и папку mainTest. В нем есть исходный файл java, называемый phpFunction.java

Исходный код java выглядит следующим образом

package mainTest; public class phpFunction { public phpFunction() { } public static void main(String[] args) { //our input is a string, example "25", convert it into a number int inputArg1 = Integer.parseInt(args[0]); //will hold a value to be output int outputValue = -1; //call a method with our input outputValue= multiplyInput(inputArg1); //print the output to std out System.out.println(outputValue); } //simply multiplies the input value by 2, returns results private static int multiplyInput(int inputValue){ return inputValue*2; } }

Исходный код, как указано в комментариях, просто принимает одно значение как входное и умножает его на два и отправляет результаты в стандартное.

Чтобы скомпилировать его, вам нужно убедиться, что у вас установлен java jdk, вы можете проверить, выполнив

locate javac

Если вы его не установили, установите его (вы также можете скомпилировать код в другом месте, который мог бы установить его)

Из запуска корневого каталога

javac mainTest/phpFunction.java

Вы закончите с файлом phpFunction.class в каталоге mainTest

Чтобы запустить его как тест

java -cp . mainTest/phpFunction 25

Где 25 - это аргумент, который вы хотите передать, выход будет

$ java -cp . mainTest/phpFunction 25 50
2
ответ дан 24 July 2018 в 13:18
  • 1
    Я надеюсь, что это помогло бы мне, сообщите мне, если у вас есть какие-либо проблемы - звучит как java jdk (по крайней мере, версия оракула), может быть больно, чтобы установить на Ubuntu - также, хотя я не трогал PHP за многие годы, мог бы помогите с командой shell_exec. Удачного вечера! – JGlass 19 January 2018 в 05:32
  • 2
    Большое спасибо ... пожалуйста, посмотри мой код ВЫШЕ .. У меня было несколько ошибок при попытке скомпилировать. Я проверил ваши и работал нормально. @JGlass – igtoth 19 January 2018 в 05:59
  • 3
    Вы поняли это? Вы упоминаете свой код и ошибки, я вижу, что вы добавили код на свой вопрос, но потом удалили его? – JGlass 19 January 2018 в 17:21
  • 4
    Да @JGlass .. спасибо ... его работа частично ... теперь после компиляции я получил: Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/javac/liblib-superplacas.so: /tmp/javac/libm.so: invalid ELF header – igtoth 20 January 2018 в 06:19
  • 5
    Вопросы @igtoth часто приводят к новым вопросам, однако, похоже, на этот ответ. ЕСЛИ у вас есть новый вопрос относительно /tmp/javac/libm.so: invalid ELF header или подобного, я предлагаю вам открыть новый вопрос. Не забывайте поднимать / принимать ответ, который помог вам больше всего в этом вопросе. С уважением! – Elder Geek 23 January 2018 в 03:57

Другие вопросы по тегам:

Похожие вопросы: