gpt4 book ai didi

Java 命令行从 Jar 存档中读取类时出现问题

转载 作者:行者123 更新时间:2023-12-02 11:12:21 24 4
gpt4 key购买 nike

我正在尝试使用命令行语法运行一个基于java的工具,如下所示:java -cp archive.jar archiveFolder.theMainClassName。尽管我正在搜索的类是一个主类“theMainClassName”,但它位于存档中.jar 以及在输入时给出的 archiveFolder 中,我不断收到错误消息,表示看不到我的类。有人对这个问题有什么想法吗?预先感谢您

最佳答案

这是一个具体的示例,说明什么是有效的,以便您可以比较自己的情况。

将此代码放在名为 MainClass.java 的文件中的任意位置。 (稍后我假设了一个名为 src 的目录。当然,通常您会安排源以匹配包。)

package archiveFolder;

public class MainClass
{
public static void main(String[] args)
{
System.out.println("I'm MainClass");
}
}

然后运行以下每个命令:

# Compile the source
javac -d . src/MainClass.java

# Build the jar file
jar cf archive.jar archiveFolder

# Remove the unpackaged binary, to prove it's not being used
rm -rf archiveFolder # Or rmdir /s /q archiveFolder on Windows

# Execute the class
java -cp archive.jar achiveFolder.MainClass

结果:

I'm MainClass

您如何构建 jar 文件?代码是否位于适当的包中?

关于Java 命令行从 Jar 存档中读取类时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/293114/

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