Как запустить проект 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.

Ответы

Ответ 1

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

Ответ 2

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

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

2), если у вас есть package myjava; в верхней части ваших файлов (и убедитесь, что это то, что хочет ваш профессор, становится больно отмечать вещи, если они не в нужном месте), сделайте src\myjava (и если вы делаете каталог JUnit a 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 - это имя запускаемого класса

Ответ 3

  • Было бы лучше добавить javac в переменную среды PATH вместо того, чтобы помещать файлы .java в один и тот же каталог. Там будет ужасно много.
  • Для запуска вам просто нужно

    java Main

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

  • Вы объявили пакет в ваших .java файлах? Как,

    пакет myjava;

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

    java myjava.Main

Отвечает ли это на ваши вопросы?

Ответ 4

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

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

Ответ 5

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

  • Установите JAVA_HOME в каталог, где установлен JDK.

    установить JAVA_HOME = "c:\Program Files\Java\jre1.6.0_12"

  • Установите PATH для включения каталога bin в JAVA_HOME.

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

  • Перейдите в корневой каталог исходного кода. Если вы указали свой код в пакетах, это корневой каталог вашей структуры пакета. Если нет, это каталог, содержащий ваши .java файлы:

    cd c:\My\Source\Directory

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

    javac Class1.java Class2.java

  • (Предположим, что все компилируется правильно) Выполните java с именем класса, содержащего ваш основной метод, в качестве аргумента (если вы включили объявления пакета, то ваше имя класса будет полностью квалифицированным, то есть оно должно включать имя пакета перед именем класса, с "." разделяя имя пакета от имени класса):

    java Главная

Ответ 6

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

Ответ 7

Самый простой способ сделать это - запустить файл .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

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