前段时间我和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]
有人可以提出任何建议吗?
答案 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]