0

我正在尝试将我的 java 文件编译为类。它是一个更大程序的插件,当从源代码运行时,它在 eclipse 中运行良好。

我在 Linux 中工作,在 shell 中输入以下内容javac MyPlugin.java

这只是部分输出:

MyPlugin.java:11: package javolution.util does not exist
import javolution.util.FastList;
                      ^
MyPlugin.java:12: package javolution.util does not exist
import javolution.util.FastMap;
                      ^
MyPlugin.java:14: package org.apache.log4j does not exist
import org.apache.log4j.Logger;
                       ^
MyPlugin.java:15: package org.jwebsocket.api does not exist
import org.jwebsocket.api.PluginConfiguration;
                         ^

我的假设是其余的错误是由于无法达到导入而引起的。

我是否需要在原始命令中添加一些内容才能包含这些导入?

4

3 回答 3

1

您缺少以下项目的 jar:

http://javolution.org/

http://logging.apache.org/log4j/1.2/

http://jwebsocket.org/

您可以下载缺少的 JAR 并将它们包含在您的编译类路径中。

或者,您可以让maven管理应用程序的下载和编译。

更新:将所有外部 jar 集中在一个位置

要将所有外部库放在一个地方,您可以使用以下命令在 Eclipse 中创建一个可运行的 JAR:

Export...->Java->Runnable JAR File

输入your_temp_jar.jar并点击

Copy required libraries into a sub-folder next to the generated JAR

单击Finish所有必需的 jar 后,将位于名为your_temp_jar_lib.

于 2012-09-21T16:20:03.637 回答
0

您应该在类路径中指定包含以下类的 jar 文件。

javolution.util.FastList
javolution.util.FastMap
org.apache.log4j.Logger
org.jwebsocket.api.PluginConfiguration

您可以使用-cp指定 jar 的类路径。

于 2012-09-21T16:17:21.617 回答
0

在命令行键入 javac 不是构建 Java 代码的可行或可扩展的方式。虽然您可以使用 -cp to javac 将所需的依赖项添加到此编译中,但学习 ant 或 maven 会更好。

于 2012-09-21T16:17:46.933 回答