我有两个java文件。它们在NetBeans中运行良好,但我必须在javac中编译它们,并在unix机器上运行它们,因为我连接到学校服务器上的数据库。
我一直在网上搜索,但一切都太具体了,我对NetBeans不太熟悉。
我正在做的是将这两个java文件和.form文件复制到我学校服务器上的目录,然后尝试使用javac编译这两个java文件。但是,我假设它没有编译,因为它缺少.form文件中的所有信息?
在编译其中一个java文件时,我遇到了100个错误,它们看起来像这样:
CARTSJFrame.java:380:包org.jdesktop.layout不存在 .add(jPanel9,org.jdesktop.layout.GroupLayout.PREFERRED_ SIZE,org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,org.jdesktop.layout.GroupLay
我的猜测是它与我在NetBeans项目目录中可以看到的.form文件有关。
我已经看过以前有关此事的问题,但仍然无法弄清楚这一点。任何帮助表示赞赏。
答案 0 :(得分:2)
您遇到了编译错误,因为在编译和运行项目时,NetBeans会自动在项目的类路径中包含一个jar。
NetBeans使用点阵式文件来帮助它为布局生成代码。它不在编译时使用。
您可以遵循几种策略来解决此问题:
获取具有类的jar ... http://www.findjar.com/jar/net.java.dev.swing-layout/jars/swing-layout-1.0.1.jar.html;jsessionid=252692AC0FBE9421C9436A748744ACED ...并在你的身上加入那个罐子 编译和运行时的类路径。
将项目中的代码转换为 使用javax.swing.GroupLayout。 这是Java SE 6的“标准部分”。这是SO answer covers how to convert between org.jdesktop.layout.GroupLayout and javax.swing.GroupLayout in NetBeans。
答案 1 :(得分: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文件