使用javac编译时包含Swing

我编译和jar来源就好了,但是当我运行它时,它会抱怨:

java.lang.ClassNotFoundException:javax.swing.JPanel

我想在编译时我必须包含Swing库,但是我该怎么做呢?

我在我的系统中包含了每个rt.jar:

javac -classpath /usr/lib/jvm/java-1.5.0-gcj-4.4/jre/lib/rt.jar:/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/rt.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar:/home/me/equinox.jar *java

仍然编译好,运行时仍然崩溃.

最佳答案 看起来你正在使用
GCJ.这是一个旧项目,它试图将Java实现作为纯粹的开源实现.

他们得到了一半,但实施远非完美.这些天,最好完全避免它,而是使用OpenJDK(或Oracle/Sun JDK,如果不需要开源).

在Ubuntu上,您可以使用update-java-alternatives将系统配置为不同的Java实现:

sudo update-java-alternatives -s java-6-openjdk

顺便说一句,您永远不需要在类路径上明确指定rt.jar,因为它始终可以自动使用.此外,使用来自不同JVM的多个rt.jar是一种灾难.

点赞