Java Eclipse找不到maven项目的主类
在您将此标记为重复之前,请注意,我已经阅读了其他几个类似的问题,但没有一个解决了这个问题。 我有一个使用maven的Eclipse项目。它使用Java15和JavaFX13。 当我尝试运行应用程序时,它会显示错误消息: 错误:无法找到或加载主类app.cleancode.Start 我试过:Java Eclipse找不到maven项目的主类,java,eclipse,maven,javafx,Java,Eclipse,Maven,Javafx,在您将此标记为重复之前,请注意,我已经阅读了其他几个类似的问题,但没有一个解决了这个问题。 我有一个使用maven的Eclipse项目。它使用Java15和JavaFX13。 当我尝试运行应用程序时,它会显示错误消息: 错误:无法找到或加载主类app.cleancode.Start 我试过: 刷新项目 从maven项目重建 甚至删除所有eclipse文件并重新导入项目 他们都没什么不同 我可以在Eclipse中运行任何其他项目,但这个项目不起作用。 我在Windows 10 home上执行此操作
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>app.cleancode</groupId>
<artifactId>javafx-app</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<java.version>15</java.version>
<javafx.version>13</javafx.version>
</properties>
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-media</artifactId>
<version>${javafx.version}</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>${javafx.version}</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-swing</artifactId>
<version>${javafx.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>${java.version}</release>
<source>${java.version}</source>
<target>${java.version}</target>
<compilerArgs>--enable-preview</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.3</version>
<configuration>
<mainClass>app.cleancode.Start</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
我刚刚发现的另一条信息是,如果我只使用一个main方法创建一个新的Start.java,它就可以正常工作。不知道为什么。为了回答我自己的问题,最简单的解决方案是创建一个新的main类,调用原始start的main
package app.cleancode;
public class Start {
public static void main(String[] args) {
Starter.main(args);
}
}
然后您可以运行新的Start.java。在pluginHello之后添加主类,欢迎使用stackoverflow。由于您已在pom文件中将app.cleancode.Start定义为yur主类,因此当您运行项目时,eclipse正在尝试执行该类,但无法找到它。您的项目代码是否包含Start.java。这在你的课堂路径上吗。请提供有关您的问题的详细信息,以便对社区有益。我已将主要课程添加到帖子中。谢谢你给我反馈,因为我是新来的。如果还有什么需要补充的,请告诉我。
module app.cleancode.javafx-app {
exports app.cleancode.axis;
exports app.cleancode.animation;
exports app.cleancode;
exports app.cleancode.sound;
exports app.cleancode.game.physics;
exports app.cleancode.bounds;
exports app.cleancode.game.snake;
exports app.cleancode.map;
exports app.cleancode.sprite;
exports app.cleancode.game;
requires java.desktop;
requires javafx.base;
requires javafx.graphics;
requires javafx.media;
requires javafx.swing;
}
package app.cleancode;
public class Start {
public static void main(String[] args) {
Starter.main(args);
}
}