编译java代码

时间:2013-04-03 19:08:26

标签: java netbeans

前段时间我和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并将'main project'重置为我试图运行的程序,从netbeans中重新编译它会正常工作。没有这样做,我不知道如何解决问题。

当我运行代码时,我用

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

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

1 个答案:

答案 0 :(得分: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。 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]