it-swarm.com.ru

Как запустить проект NetBeans в командной строке?

Мой профессор попросил нас создать Java-программу, которая могла бы запускаться в командной строке, но также могла быть открыта с использованием NetBeans.

В программе используются различные типы сортировки (в частности, Выбор, Вставка, Обмен, Быстрая сортировка и Куча). наш профессор специально сказал нам использовать объектно-ориентированное программирование на Java, и она хочет видеть основной класс плюс различные классы, которые будут выполнять сортировку.

Я пытался написать программу в NetBeans - подумав, что позже я смогу просто запустить программу в cmd, используя javac.

В cmd я набрал путь, по которому был сохранен мой проект NetBeans, и попытался скомпилировать файлы, используя javac. но он говорит, что «javac не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл».

Поэтому я попытался сохранить файлы в Sun> sdk> jdk> bin, и оттуда я попытался скомпилировать файлы, и это было нормально. Проблема возникает, когда я пытался их запустить.

Вот как я пытался скомпилировать файлы:

javac Main.Java
      Sortchoice.Java
      Selection.Java
      SelectionSort.Java
      Insertion.Java
      InsertionSort.Java
      Exchange.Java
      ExchangeSort.Java

(Я не закончил синтаксис для следующих двух сортировок.)

Вот как я пытался запустить файлы в cmd:

Java Main Sortchoice Selection SelectionSort Insertion InsertionSort Exchange ExchangeSort

и cmd говорит:

exception in thread "main" Java.lang.NoClassDefFoundError: main (wring name: myjava/Main)
at Java.lang.ClassLoader.defineClass1(Nativ... Method)"
at Java.lang.ClassLoader.defineClass(ClassL...
at Java.security.SecureClassLoader.defineCl...
at Java.net.URLClassLoader.defineClass(URLC...
at Java.net.URLClassLoader.access$000(URLCl...
at Java.net.URLClassLoader$1.run(URLClassLo...
at Java.security.AccessController.doPrivile... Method)
at Java.net.URLClassLoader.findClass(URLCla...
at Java.lang.ClassLoader.loadClass(ClassLoa...
at Sun.misc.Launcher&AppClassLoader.loadCla...
at Java.lang.ClasLoader.loadClass(ClassLoad...
at Java.lang.ClassLoader.loadClassInternal(...

Что я должен делать? (Извините за мое длинное объяснение. Я просто хотел указать как можно больше деталей.)

Я также хотел бы подчеркнуть, что я только начинающий в программировании на Java.

14
charisse

Если вы щелкнете по компоновке внутри NetBeans, она должна вывести (в выводе вашего компилятора) сообщение, например, «Чтобы запустить это приложение из командной строки без Ant, попробуйте: Java -jar yourPathToRun»

22
Cricket

Лучший способ сделать это это:

1) создайте каталог с src\ и tests\ (тесты не обязательны, если вы не используете JUnit).

2) предполагая, что у вас есть package myjava; в верхней части ваших файлов (и убедитесь, что это то, чего хочет ваш проф, становится неудобно отмечать вещи, если они не в нужном месте), создайте каталог src\myjava (и если вы делает JUnit каталог tests\myjava).

3) скопируйте ваши файлы в каталог src\myjava

4) удалите свой проект NetBeans и воссоздайте его как новый с существующими источниками. При настройке каталогов src (и необязательных test) добавьте каталог src\ (и, возможно, tests\). НЕ добавляйте каталог src\myjava, иначе он не будет работать в NetBeans.

5) создайте каталог с именем classes\ (чтобы у вас были src\, classes\ и, возможно, \tests все в одном месте)

6) в командной строке введите javac -d classes -cp classes src/myjava/*.Java

  • -d сообщает компилятору, куда поместить файлы .class
  • -cp сообщает компилятору, где искать файлы классов
  • src/myjava/*.Java говорит ему скомпилировать все файлы .Java в src/myjava

7) запустить его через Java -cp classes myjava.Main

  • -cp классы говорят ему искать в каталоге классов файлы .class
  • myjava.Main - это имя класса для запуска
12
TofuBeer
  1. Было бы лучше добавить javac в переменную среды PATH, а не помещать файлы .Java в один каталог с ним. Там будет ужасно тесно.
  2. Чтобы бежать, вам просто нужно

    Java Main

    вместо того, чтобы помещать каждый класс в командную строку.

  3. Вы объявили пакет в своих файлах .Java? Подобно,

    пакет myjava;

    ? Если это так, командная строка должна быть

    Java myjava.Main

Это отвечает на ваши вопросы?

6
Michael Myers

Щелкните правой кнопкой мыши Мой компьютер> свойства> дополнительные> переменные среды ... добавьте каталог bin в jdk в переменную Path Пример: Имя переменной: путь Значение переменной: C:\Program Files\Java\jdk1.6.0_16\Bin

Java и javac теперь должны работать из любого каталога в командной строке

1
Busta

Выполните следующие действия (примеры кода являются лишь примерами, вам нужно настроить некоторые из них для вашей настройки):

  1. Установите в Java_HOME каталог, в котором установлен JDK.

    set Java_HOME = "c:\Program Files\Java\jre1.6.0_12"

  2. Настройте PATH для включения каталога bin в Java_HOME.

    установить PATH =% PATH%:% Java_HOME%\bin

  3. Перейдите в корневой каталог вашего исходного кода. Если вы объявили свой код в пакетах, это корневой каталог структуры вашего пакета. Если нет, то это каталог, содержащий ваши файлы .Java:

    cd c:\My\Source\Directory

  4. Выполните javac с вашими файлами Java в качестве аргумента:

    javac Class1.Java Class2.Java

  5. (Предполагая, что все компилируется правильно) Выполните Java с именем класса, содержащим ваш метод main в качестве аргумента (если вы включили объявления пакета, тогда ваше имя класса полностью определено, то есть оно должно включать имя пакета перед именем класса, с «.» отделяет имя пакета от имени класса):

    Java Main

0
Jared

Создайте папку где-нибудь, скажем C:\myjava. Скопируйте исходные файлы .Java из того места, где NetBeans сохраняет их, например, в свой C:\Java. Откройте каждый из этих файлов .Java, который вы только что вставили, и удалите строку, содержащую пакет, например, package myjava. Компиляция с использованием javac, например javac c:\myjava\MyJava.Java. Затем запустите его, как в, Java c:\myjava\MyJava

0
Omar

Самый простой способ сделать это - запустить файл .jar в папке dist в основной папке вашего проекта. Убедитесь, что путь к папке jdk bin в вашем компьютере System, Environmental Variables настроен так, чтобы найти обычные: jar.exe, Java.exe, javac.exe и т.д. (Смотрите другие публикации в этой теме, если вам нужны инструкции по этому поводу).

1) В Netbeans выполните чистую сборку, нажмите F11 или выберите меню Run и нажмите Build Project. Нажмите, чтобы пройти все запросы, вам нужна чистая сборка, чтобы сделать это.

2) в командной строке перейдите в папку dist вашего проекта

3) в командной строке введите и запустите: Java -jar yourMainFile.jar

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

0
Michael Swartz