2010-12-05 120 views
2

我有两个java文件。它们在NetBeans中运行良好,但我必须在javac中编译它们,并在unix机器上运行它们,因为我正在连接到学校服务器上的数据库。如何让用NetBeans编写的java程序用javac编译?

我一直在线上搜索,但一切都太具体,我对NetBeans不太熟悉。

我在做的是将这两个java文件和.form文件复制到我学校服务器上的一个目录,然后尝试使用javac编译这两个java文件。但是,我假设它不会编译,因为它缺少.form文件中的所有信息?

我得到编译Java文件之一,当100个错误,他们是这个样子:

CARTSJFrame.java:380:包org.jdesktop.layout不存在 。新增(jPanel9,org.jdesktop.layout.GroupLayout.PREFERRED_大小,org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,org.jdesktop.layout.GroupLay

我的猜测是,它有事情做与.FORM文件,我可以在NetBeans项目目录中看到。

我已经看过以前的问题,但仍然无法弄清楚这一点。任何帮助表示赞赏。

回答

0

我认为你的问题是,javac不知道在哪里可以找到该库。

一个典型的Java项目使用许多库。 Netbeans使用文件夹“lib”来存储这些库以及一些配置文件来自动设置类路径。类路径是Javac用来“知道”库在哪里的环境变量。

当您使用javac编译java文件时,您需要首先提供CLASSPATH变量。写下你所有的依赖关系。

一个例子:

项目/ compile_all.sh

export CLASSPATH=$CLASSPATH:"lib/jopt-simple-3.2.jar":"lib/commons-io-2.0.jar" 

javac src/*.java 

现在你只需要运行

sh compile_all.sh 

并将其编译所有你.java文件

2

你是由于NetBeans在项目的classpath au中包含一个jar,因此会遇到编译错误当你编译和运行这个项目的时候,你会觉得这很有意思

NetBeans使用点形式文件帮助它生成布局代码。它不在编译时使用。

有迹象表明,你可以按照解决这个问题了几个策略:

  1. 获得具有类的jar ... http://www.findjar.com/jar/net.java.dev.swing-layout/jars/swing-layout-1.0.1.jar.html;jsessionid=252692AC0FBE9421C9436A748744ACED ...并包括罐子在编译你的类路径 和运行时间。

  2. 使用javax.swing.GroupLayout将项目中的代码转换为 。 这是爪哇SE 6.本SO answer covers how to convert between org.jdesktop.layout.GroupLayout and javax.swing.GroupLayout in NetBeans的“标准的一部分”。