我正在尝试使用Windows命令行来运行我的类文件。但是,当我尝试运行它时,没有任何工作,我只看到
Error: Could not find or load main class Main.
我在这个网站上尝试了几种不同的解决方案。 (我想要的类文件位于target / classes / ivy / IVYbot / IVYbot / Main.class中。)
> C:\Users\Ivy\Documents\GitHub\IVYbot\target\classes> java ivy.IVYbot.IVYbot.Main
Error: Could not find or load main class ivy.IVYbot.IVYbot.Main
> C:\Users\Ivy\Documents\Github\IVYbot> java -cp .;.\target\classes Main
Error: Could not find or load main class Main.
> C:\Users\Ivy\Documents\Github\IVYbot> java -cp .;.\target\classes ivy.IVYbot.IVYbot.Main
Error: Could not find or load main class ivy.IVYbot.IVYbot.Main.
> C:\Users\Ivy\Documents\Github\IVYbot\target\classes\ivy\IVYbot\IVYbot> java Main
Error: Could not find or load main class Main.
我甚至尝试通过Maven(带依赖项)将整个事件编译成.jar文件。
> C:\Users\Ivy\Documents\Github\IVYbot\target> java -jar IVYbot-0.0.1-SNAPSHOT-jar-with-dependencies.jar
no main manifest attribute, in IVYbot-0.0.1-SNAPSHOT-jar-with-dependencies.jar
虽然它应该,如
> C:\Users\Ivy\Documents\Github\IVYbot\target> jar tf IVYbot-0.0.1-SNAPSHOT-jar-with-dependencies.jar
META-INF/
META-INF/MANIFEST.MF
...
节目。我不知道我的路径有什么问题。我正在为我的Maven使用的插件,如果有用的话:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
答案 0 :(得分:1)
使用maven插件编译并使用其依赖项组装jar后,可以使用以下命令运行您的类:
java -cp IVYbot-0.0.1-SNAPSHOT-jar-with-dependencies.jar ivy.IVYbot.IVYbot.Main
否则,如果您只想运行已编译的类,可以使用以下命令,但请记住位于编译类所在的目录中:
java -cp . Main
这是因为你必须指定类路径才能执行你的类,.
告诉java使用当前目录作为类路径。