0

前段时间我用 Netbeans 写了一些代码。我最终将代码移到了一个新服务器上,我可以远程访问它并且没有安装 netbeans。我最近对该代码进行了一些更改并使用此命令进行了编译

javac -classpath /home/me/JSAP-2.1.jar /home/me/Fin2/src/fin2/Fin2.java  /home/me/Fin2/src/fin2/CommandLine.java /home/me/Fin2/src/fin2/Reader.java /home/me/Fin2/src/fin2/Manager.java -Xlint

但似乎新代码从未编译过。我得到的输出与进行更改之前相同。当我之前在旧服务器上遇到这个问题时,我只需打开 netbeans 并将“主项目”重置为我试图运行的程序,从 netbeans 中重新编译,它会正常工作。如果不这样做,我不知道如何解决这个问题。

当我运行代码时,我运行它

 java -jar /home/me/NetBeansProjects/Fin2/dist/Fin2.jar [commandline args]

任何人都可以提出任何建议吗?

4

1 回答 1

0

您缺少 IDE 为您执行的步骤。您将需要jar从类文件输出创建文件。请参阅http://docs.oracle.com/javase/tutorial/deployment/jar/build.html http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/javac.html

由于您没有添加 -d 类文件位于源文件的目录中。让我们实际添加一个编译的输出目录

rm -r /home/me/Fin2/build/
mkdir /homr/me/Fin2/build/

现在让我们将该文件夹添加到 javac,以便在该文件夹中创建类:

javac -Xlint -d /home/me/Fin2/build/ -classpath /home/me/JSAP-2.1.jar /home/me/Fin2/src/fin2/Fin2.java  /home/me/Fin2/src/fin2/CommandLine.java /home/me/Fin2/src/fin2/Reader.java /home/me/Fin2/src/fin2/Manager.java 

最后,我们需要一罐该输出。jar 文件基本上只是目录的 zip。事实上,您可以将 .jar 文件作为 zip 文件打开。您还必须告诉它哪个类具有您的主要方法入口点。

jar cvfe /home/me/Fin2/dist/Fin2.jar [entry point] /home/me/Fin2/build/

现在,当你运行它时,运行新创建的 jar:

java -jar /home/me/Fin2/dist/Fin2.jar [commandline args]
于 2013-04-03T19:59:02.430 回答