Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring引导程序找不到主类_Java_Eclipse_Spring Mvc_Spring Boot - Fatal编程技术网

Java Spring引导程序找不到主类

Java Spring引导程序找不到主类,java,eclipse,spring-mvc,spring-boot,Java,Eclipse,Spring Mvc,Spring Boot,我有一个在eclipse中作为Spring boot应用程序运行的程序。程序运行良好。然后我做了以下工作: 右键单击project->RunAs->Maven测试 这是偶然的。当我再次尝试将该程序作为spring boot应用程序运行时,它抛出了下面的错误 错误:无法找到或加载主类com.bt.collab.alu.api.webapp.Application 如何将应用程序指向我的主类? 谢谢主类在pom.xml中是可配置的 <properties> <start-c

我有一个在eclipse中作为Spring boot应用程序运行的程序。程序运行良好。然后我做了以下工作:

右键单击project->RunAs->Maven测试

这是偶然的。当我再次尝试将该程序作为spring boot应用程序运行时,它抛出了下面的错误

错误:无法找到或加载主类com.bt.collab.alu.api.webapp.Application

如何将应用程序指向我的主类?
谢谢

主类在pom.xml中是可配置的

<properties>
    <start-class>com.bt.collab.alu.api.webapp.Application</start-class>
</properties>

com.bt.collab.alu.api.webapp.Application
查看Eclipse中的“运行->运行配置…”。你应该删除你错误创建的新的,你应该仍然拥有现有的


我怀疑它为“以Maven方式运行测试”创建了一个新的运行配置,您现在总是在启动这个配置。

如果您使用的是Spring Boot,而上面的建议不起作用,您可能需要查看Eclipse问题视图(可在窗口->显示视图->问题中找到)

例如,如果某个jar文件损坏,您可能会遇到相同的错误(错误:找不到或加载主类groupId.Application)。Eclipse会抱怨找不到Applications类,即使坏jar是根本原因

然而,Problems视图将为您识别坏罐子


无论如何,我必须手动转到本地mvn repo(in.m2)并手动删除损坏的jar,然后更新它(右键单击Package Explorer中的项目),Maven-->更新项目…->好的(假设正确的项目被选中)。

我也有同样的问题。试试这个:

右键单击项目->Maven->更新项目


然后重新运行项目。希望它对你也有用。

如果你遇到

错误:无法在maven项目中找到或加载主类

这样做对我来说很有效:
错误原因:此错误的原因是运行maven项目的jar文件或依赖项未正确安装

错误的解决方案:转到项目文件夹(例如:
D:\office\OIA服务应用程序

在计算机的地址栏中键入命令
cmd
,然后按enter键。

在命令提示符中键入command
mvn clean install
确保您已连接到internet。

使用spring boot:run命令启动spring boot应用程序:

前提条件: 1.将以下属性添加到pom.xml

<property>    
<start-class>com.package.name.YourApplicationMainClass</start-class>
</property>

com.package.name.YourApplicationMainClass
二,。构建您的项目

然后使用springboot:run配置maven命令

导航:
右键单击项目|运行方式|运行配置…|如果无法启动项目打包类型war,请使用命令spring boot:run添加新的Maven配置。我使用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>

maven汇编插件
3.0.0
assembly.xml
带有依赖项的jar
com.ttech.videouploader应用程序
组装
包裹
单一的
我的包装tpe是war,我找不到主类异常,但我将包装改为jar,它可以工作

<groupId>com.ttect</groupId>
<artifactId>VideoUploadListener</artifactId>
<version>1.0.0</version>
<packaging>**jar**</packaging>
com.ttect
视频上传侦听器
1.0.0
**罐子**

我使用了spring 1.5.3.0发行版,并给出了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>
但在执行主类时,我得到:

无法找到或加载主类。。。用我的班名

我可以看到类在类路径中是可用的,我使用的是STS IDE

我没有得到这个问题的原因,然后我尝试通过maven和

mvn clean install
问题仍然存在,然后我意识到我的项目有两个库

  • 参考图书馆
  • 马文图书馆
  • 我所做的:
    我已经创建了另一个mavenRepo文件夹,再次构建它并刷新我的项目。在这之后,它工作了,我看到Maven库从项目类路径中删除了

    问题是在执行时,它获得了多个版本,所以它无法找到合适的类来执行我的应用程序。 本页中列出的其他解决方案也可以解决此问题,但如果您在

  • 注释类
  • pom条目
  • jar版本等

  • 如果有人遇到这个问题,希望这可以解决这个问题

    删除.m2中的旧jar并更新maven项目应该是首要步骤。
    在大多数情况下,它解决了这个问题。造成这个问题的原因主要是旧JAR被损坏了

    我在spring boot中是新手,并且在maven build中使用STS。我做了上面提到的所有事情,但不会为我工作。我注意到STS的问题窗口中有两个问题。路径(C:\Users\UserName.m2\repository\com\jayway\jsonpath\json path\2.2.0)上缺少jar文件。我做了以下,这种方式是不是强烈建议,但为我工作

    1) 我从路径位置删除了.m2文件夹

    2) 重新启动的STS

    3) 右键单击项目文件夹->maven->更新项目->选中“强制更新快照/发布”->单击确定


    Maven更新了它的依赖项,问题就解决了。

    这发生在我更新pom(添加了一些依赖项)之后

    下面的步骤帮助我避免了这个错误

    right click on the project > maven > update project
    

    在我的情况下,以下几点有帮助:

    在pom中添加了以下部分

      <plugins>
        <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <executable>true</executable>
                </configuration>
        </plugin>
      </plugins>
    
    
    org.springframework.boot
    springbootmaven插件
    真的
    
    我们用
      <plugins>
        <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <executable>true</executable>
                </configuration>
        </plugin>
      </plugins>
    
    <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>