我有一个程序在eclipse中作为Spring启动应用程序运行。该程序运行正常。然后我做了以下事情:
右键点击项目 - >运行方式 - > Maven测试。
这是偶然的。当我再次尝试将程序作为弹簧启动应用程序运行时,它会在下面抛出以下错误。
Error: Could not find or load main class com.bt.collab.alu.api.webapp.Application
如何将应用程序指向我的主类? 感谢
答案 0 :(得分:67)
我遇到了同样的问题。试试这个:
右键单击项目 - > Maven - >更新项目
然后重新运行该项目。希望它也适合你。
答案 1 :(得分:31)
主类可以在pom.xml中配置
<properties>
<start-class>com.bt.collab.alu.api.webapp.Application</start-class>
</properties>
答案 2 :(得分:14)
看看&#34;运行 - &gt;运行配置......&#34;在Eclipse中。你应该删除你错误创建的新的,你应该仍然有现有的。
我怀疑它为&#34; Run as Maven Test&#34;创建了一个新的运行配置。你现在总是开始这个。
答案 3 :(得分:12)
如果您正在使用Spring Boot并且上述建议不起作用,您可能需要查看Eclipse Problems视图(可在Window - &gt; Show View - &gt; Problems中找到)。
例如,如果您的某个jar文件已损坏,则可能会出现相同的错误(错误:无法找到或加载主类 groupId .Application)。 Eclipse会抱怨它无法找到Applications类,即使坏jar是根本原因。
然而,问题视图将为您识别坏罐。
无论如何,我必须手动转到我当地的mvn repo(在.m2中)并手动删除损坏的jar,然后更新它(在Package Explorer中右键单击项目),Maven - &gt;更新项目... - &gt;好的(假设正确的项目是经过检查标记的)。
答案 4 :(得分:7)
在我更新了pom之后发生了这种情况(添加了一些依赖项)。
以下步骤帮助我避免了此错误
right click on the project > maven > update project
答案 5 :(得分:6)
我尝试了上述所有解决方案,但没有为我工作。 终于可以通过一个简单的修复程序解决它。
在STS上, 运行配置>打开您的Spring Boot应用>打开您的配置, 请按照以下步骤操作,
答案 6 :(得分:4)
使用 spring-boot:run 命令启动spring boot应用程序:
<强>前提条件:强> 1.将以下属性添加到pom.xml
<property>
<start-class>com.package.name.YourApplicationMainClass</start-class>
</property>
2。建立你的项目
然后使用spring-boot:run。
配置maven命令右键单击项目|运行为|运行配置... |使用命令spring-boot:run
添加新的Maven配置答案 7 :(得分:4)
如果有人使用 Gradle 进行构建,则修复方法是在 build.gradle 文件中添加以下几行
apply plugin: 'application'
mainClassName = "com.example.demo.DemoApplication"
答案 8 :(得分:2)
项目:Spring Boot 工具:STS
解决步骤:
答案 9 :(得分:2)
我使用了spring 1.5.3.RELEASE版本并给出了像
这样的pom依赖项 <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
我的主要课程是
@SpringBootApplication
public class SpringAppStarter {
public static void main(String[] args) {
SpringApplication.run(SpringAppStarter.class, args);
}
}
但是在执行主要课程的时候我仍在:
无法使用我的班级名称找到或加载主班级。
我可以看到该类在类路径中可用,而我正在使用STS IDE。
我没有理由解决这个问题然后我尝试通过maven手动构建
mvn clean install
那时仍有问题我意识到我的项目有两个库
我做了什么:
我创建了另一个mavenRepo文件夹并再次构建它并刷新我的项目。之后它工作了,我看到Maven Library已从项目类路径中删除。
问题是在执行时它获得了多个版本,因此无法找到正确的类来执行我的应用程序。 此页面中列出的其他解决方案也可以解决问题,但如果您在
中犯了错误希望如果有人遇到这个问题,这可能会解决问题
答案 10 :(得分:2)
从.m2删除旧jar并更新maven项目应该是主要步骤。 在大多数情况下,它解决了这个问题。这个问题的原因主要是腐败的旧罐子
答案 11 :(得分:1)
遇到了相同的问题,并可以通过以下列出的步骤解决此问题:
答案 12 :(得分:0)
我也遇到了这个错误,没有任何线索。我可以在Target文件夹中看到类和jar。我后来安装了Maven 3.5,通过Maven的conf / settings.xml将我的本地仓库从C盘切换到其他驱动器。之后它完美无缺。我认为在C盘中拥有本地回购是主要问题。即使repo有完全访问权限。
答案 13 :(得分:0)
在我的情况下,以下帮助:
在pom中添加了以下部分
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
使用maven3然后运行
答案 14 :(得分:0)
我是春季启动的新手,并使用STS与maven构建。我做了上面提到的所有事情,但没有为我工作。我注意到STS的问题窗口有两个问题。路径上有一个丢失的jar文件(C:\ Users \ UserName.m2 \ repository \ com \ jayway \ jsonpath \ json-path \ 2.2.0)。我做了以下,这种方式并没有强烈建议,但为我工作。
1)我从路径位置删除了.m2文件夹
2)重启STS
3)右键单击项目文件夹 - &gt; maven - &gt;更新项目 - &gt;检查&#34;强制更新快照/发布&#34; - &GT;单击“确定”。
Maven更新了它的依赖项,问题解决了。
答案 15 :(得分:0)
如果您的项目包装类型战争无法启动。我正在使用具有此配置的maven程序集插件;
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version><!--$NO-MVN-MAN-VER$ -->
<configuration>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.ttech.VideoUploaderApplication</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
和我的包装tpe是战争我得到了无法找到主类异常我改变了包装到罐子里工作;
<groupId>com.ttect</groupId>
<artifactId>VideoUploadListener</artifactId>
<version>1.0.0</version>
<packaging>**jar**</packaging>
答案 16 :(得分:0)
我知道这是很晚的答案。但这可能仍对一些新学习者有所帮助。 以下示例仅适用于使用NETBEANS的springboot。 我必须执行以下步骤:
步骤1 。遵循@Mariuszs的答案。
第2步。右键单击项目->属性->运行。 确保主类字段具有正确的入门类,否则单击浏览并从可用的类中进行选择。
第3步。单击确定->确定。 Thant就是全部。谢谢。
答案 17 :(得分:0)
我遇到了同样的问题,只是从您的本地存储库中删除了.m2文件夹文件夹 希望它能工作。
答案 18 :(得分:0)
我面临着同样的问题。我已经删除了目标文件夹并运行maven install,就可以了。
答案 19 :(得分:0)
在向项目添加spring安全依赖项时,我遇到了类似的问题, 然后我删除了目标文件夹,并再次使用了maven update。 对我有用。
答案 20 :(得分:0)
即使我遇到了同样的问题,后来我发现它也发生了,因为Maven构建操作在我的环境中未正确进行。请也根据您的情况进行检查。
答案 21 :(得分:0)
答案 22 :(得分:0)
尽管我正在使用gradle build,但遇到了同样的错误。将IDE构建/运行操作委托给Gradle解决了我的问题。
Intellij: 设置->构建,执行,部署->构建工具-> Gradle-> Runner
答案 23 :(得分:0)
如果你遇到了
错误:无法在maven项目中找到或加载主类
这样做对我有用:
错误原因:此错误的原因是jar文件或运行maven项目的依赖项未正确安装。
错误解决方案:转到项目文件夹(例如:D:\office\OIA-service-app
)
在计算机类型命令cmd
的地址栏中按Enter键
在命令提示符下键入命令mvn clean install
,确保您具有Internet连接。
答案 24 :(得分:0)
start-class
对我不起作用,我通过在build plugins
上添加pom.xml
来解决它,而executions
是必需的。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
答案 25 :(得分:0)
我在“ Spring Tool Suite”软件中遇到了相同的错误。
对于我来说,我安装了Java 8,并创建了Java 11项目。运行该项目时,我遇到了同样的错误,例如“找不到主类”。
然后我用Java 8创建了一个项目,问题得以解决。
答案 26 :(得分:0)
这里有很好的答案,但是也许这也可以帮助别人。
对我来说,这是在我删除.idea(使用IntelliJ)并重新导入项目后发生的。
然后这个问题开始,我尝试运行mvn编译(仅通过IDE Maven工具栏),一旦我修复了几个编译错误,问题就消失了