如何在命令提示符下运行NetBeans项目?

我的教授要求我们创建一个能够在命令提示符下运行的Java程序,但也可以使用NetBeans打开它。

该程序是关于使用不同类型的排序(特别是选择,插入,交换,快速和堆排序)。 我们的教授特别告诉我们在Java中使用面向对象的编程,并且她希望看到一个主类加上可以进行排序的不同类。

我尝试在NetBeans中编写程序 – 以为后来我可以使用javac在cmd中运行该程序。

在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编程的初学者。

如果单击NetBeans中的build,它应该(在编译器输出中)给出一条消息,例如“要从没有Ant的命令行运行此应用程序,请尝试:java -jar yourPathToRun”

最好的方法是:

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告诉它编译src/myjava所有.java文件

7)通过java -cp classes myjava.Main运行它

  • -cp类告诉它在classes目录中查找.class文件
  • myjava.Main是要运行的类的名称
  1. 最好将javac添加到PATH环境变量中,而不是将.java文件放入同一目录中。 那里会非常拥挤。
  2. 要运行,你只需要

    java Main

    而不是将每个类放在命令行上。

  3. 你在.java文件中声明了一个包吗? 喜欢,

    包myjava;

    ? 如果是,则必须是命令字符串

    java myjava.Main

这会回答你的问题吗?

右键单击我的电脑>属性>高级>环境变量…将jdk中的bin目录添加到Path变量示例:变量名称:path变量值:C:\ Program Files \ Java \ jdk1.6.0_16 \ bin

java和javac现在应该在命令提示符下的任何目录下工作

请按照以下步骤操作(代码示例只是示例,您需要调整一些以进行设置):

  1. 将JAVA_HOME设置为安装JDK的目录。

    设置JAVA_HOME =“c:\ Program Files \ Java \ jre1.6.0_12”

  2. 将PATH设置为包含JAVA_HOME中的bin目录。

    设置PATH =%PATH%:%JAVA_HOME%\ bin

  3. 切换到源代码的根目录。 如果您已将代码声明为包,则这是包结构的根目录。 如果没有,这是包含.java文件的目录:

    cd c:\ My \ Source \ Directory

  4. 以Java文件作为参数执行javac:

    javac Class1.java Class2.java

  5. (假设所有内容都正确编译)使用包含main方法的类的名称作为参数执行java (如果包含包声明,那么您的类名是完全限定的,这意味着它应该在类名之前包含包名,将包名称与类名分开的’。’:

    java主要

在某处创建一个文件夹,比如C:\myjava 。 将.java源文件从netbeans保存到C:\java地方复制。 打开刚刚粘贴的每个.java文件,并删除声明包的行,例如package myjava 。 使用javac例如javac c:\myjava\MyJava.java 。 然后像在java c:\myjava\MyJava一样运行它

最简单的方法是在项目主文件夹下的dist文件夹中运行.jar文件。 确保计算机SystemEnvironmental Variables jdk bin文件夹的路径设置为常用: jar.exejava.exejavac.exe等(如果需要有关操作的说明,请参阅此主题中的其他post)那)。

1)在Netbeans中进行干净的构建,按F11或单击“ Run菜单,然后单击“ Build Project 。 单击以通过所有提示,您需要一个干净的构建来执行此操作。

2)在命令提示符下导航到项目的dist文件夹

3)在命令行输入并运行: java -jar yourMainFile.jar

没有创建单独的文件夹,没有复制文件,没有多个文件包含在命令行参数中。 但是,每次更改代码之前,必须重新构建项目,然后才能在命令行上运行它。