gpt4 book ai didi

JAVA,批处理文件错误

转载 作者:太空宇宙 更新时间:2023-11-04 06:36:17 25 4
gpt4 key购买 nike

我有一个现有的 Java 项目,可以通过 Eclipse 正确编译和运行。我创建了以下 .bat 文件来在 Eclipse 中运行该程序:

java -classpath jflashplayer.jar;bin TestProgram

文件保存在项目文件夹中,但不保存在 bin 文件夹中(与 bin 位于同一目录中)。当我尝试运行批处理时,遇到了大量运行时错误,第一个是

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils

我不知道为什么当它通过 Eclipse 正确编译和运行时会出现此错误。我将 commons-io jar 文件作为库链接到 Eclipse 中的项目,并且 jar 文件本身位于项目文件中(与批处理文件和 bin 文件夹相同的目录)。

此外,我不完全确定批处理文件的 -classpath jflashplayer.jar 位正在做什么。我正在使用 jflashlayer.jar 库(也链接到 Eclipse 中的项目,并且与其他 jar 文件位于同一位置),但我不确定为什么它会出现在批处理文件中。我编辑了一个使用 jflashplayer.jar 文件的类似项目中的现有批处理文件,并且它之前已成功保留该部分。

当我用 Java 编写代码时,我很少要求它在 IDE 之外编译/运行,所以在这部分我通常会遇到麻烦。也许除了批处理文件方法之外,还有一种更稳健且万无一失的方法可以在 IDE 之外运行程序。

最佳答案

批处理文件方法很好,但您必须在类路径上指定您正在使用的所有库,就像jflashplayer.jar一样。

在这种情况下,您收到的错误是因为未在类路径上指定 Apache commons-io 库。您的命令必须类似于:

java -classpath jflashplayer.jar;commons-io.jar;<other jars ...>;bin TestProgram

或者,您可以从 Eclipse 创建一个可运行的 jar,如 here 中所述。 。当您选择库处理策略时,请选择将所需的库提取到生成的 JAR 中选项。这将使您正在使用的所有库类都打包到应用程序的 jar 文件中,并且您可以通过调用 java -jar my_application.jar 来执行它。

关于JAVA,批处理文件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25355241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com