Как скомпилировать Java-программы из Eclipse с помощью терминала на Mac

1

Я пытаюсь узнать, как скомпилировать Java-программы, созданные на Eclipse, IDE, в Terminal. Начиная сразу после открытия терминала, какие шаги я должен предпринять, чтобы скомпилировать программу, которую я сделал на Eclipse в терминале? Спасибо за помощь.

UPDATE: я дошел до моей папки java и пакета, в котором хранятся мои программы, и сделал строку javac Hello.java(Hello - основная программа Hello World, которую я пытаюсь скомпилировать), но когда я do java Привет, я получаю большую ошибку:

Исключение в потоке "main" java.lang.NoClassDefFoundError: Hello (неправильное имя: homeWorkPackage/Hello) в java.lang.ClassLoader.defineClass1 (собственный метод) в java.lang.ClassLoader.defineClass(ClassLoader.java:800) в java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) в java.net.URLClassLoader.defineClass(URLClassLoader.java:449) в java.net.URLClassLoader.access $ 100 (URLClassLoader.java:71) в java.net.URLClassLoader $ 1.run(URLClassLoader.java:361) в java.net.URLClassLoader $ 1.run(URLClassLoader.java:355) в java.security.AccessController.doPrivileged (собственный метод) в java.net.URLClassLoader.findClass(URLClassLoader.java: 354) в java.lang.ClassLoader.loadClass(ClassLoader.java:425) в sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java.308) в java.lang.ClassLoader.loadClass(ClassLoader.java:358) на sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

Что я сделал не так?

  • 0
    Нет прямого способа сделать это, поскольку проекты затмений имеют сложные пути к классам. Вам лучше всего использовать Maven.
  • 0
    Пожалуйста, обратитесь к официальным учебникам .
Теги:
macos
terminal
compiler-construction

2 ответа

2

Согласно официальным учебным пособиям (если вы правильно настроили JDK:

  • Измените каталог в каталог, в котором сохранен ваш файл (с помощью команды cd)
  • Используйте команду javac [filename.java] для компиляции программы
  • в каталоге должен быть файл класса
0

Если вы используете eclipse, компиляция с терминала не нужна, однако вы можете сделать это следующим образом:

Перейдите в каталог проекта, содержащий файлы .java. Затем вы можете запустить javac ClassName.java например javac Cake.java javac - это компилятор языка Java. Эта команда будет компилировать источник (ваш .java файл). Чтобы запустить его, вы можете перейти в java ClassName. например, java Cake. java запускает JVM. Именованный класс будет загружен и запуск будет запущен. Вы не включаете расширение .class файла в команду java ClassName.

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

cd - изменить каталог (за которым следует имя каталога), например, cd Documents

ls - список информации о файлах (может принимать некоторые параметры)

.. может вернуть вам каталог. например, cd.. будет возвращать вам один каталог

вы также можете нажать tab чтобы автоматически заполнить имя каталога/файла.

  • 0
    Спасибо за помощь, чтобы добраться туда! Все идет хорошо, пока я не делаю Java Classname. Я попробовал это для моей основной Java-программы под названием Hello, которая является просто Hello World, но она дала мне это: начиная с "в java.something" Любой способ исправить?
  • 0
    Хммм ... java.lang.NoClassDefFoundError будет брошен, когда JVM не сможет найти определенный класс во время выполнения, который был доступен во время компиляции. Вы можете искать различия во времени сборки и пути классов во время выполнения. Если вы будете искать полученную ошибку, вы найдете больше информации на этом сайте. Вот вопрос, касающийся этой ошибки. И вот документация Java об этом.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню