当前位置: 首页 > 知识库问答 >
问题:

使用maven构建应用程序时的异常

宋明亮
2023-03-14

在SpringBoot项目中,谁使用maven。找不到类

我绒球的一部分

<groupId>com.acme.pay</groupId>
<artifactId>ms.billing</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ms.billing</name>

<packaging>jar</packaging>

<properties>
    <default.package>com.acme.pay.ms.billing</default.package>
</properties>    

项目结构

com
  acme
    pay
      ms
        billing
          domain
          v2
          BillingServiceApplication.java

当我启动应用程序时,我得到了这个错误

错误:无法找到或加载主类com.acme.pay.ms.BillingServiceApplication导致:java.lang.ClassNotFoundExc0019:com.acme.pay.ms.BillingServiceApplication命令执行失败。

无法执行目标组织。科德豪斯。项目ms上的mojo:exec maven插件:1.5.0:exec(默认cli)。计费:命令执行失败。进程已退出,但出现错误:1(退出值:1)-

看来这条路不对。

共有3个答案

柳杰
2023-03-14

您是否用@Component、@Services等注释了您的类,或者如果您的类超出了扫描范围,您可以通过

@ComponentScan(basePackages = "com.acme.pay.ms.billing")
@Configuration
public class SpringComponentScanApp {

或者,您也可以使用xml,就像您的案例一样,通过

<context:component-scan base-package="com.acme.pay.ms.billing" />
楚冷勋
2023-03-14

请确认您的申请是否为Spring Boot申请?

如果是,则在以Java应用程序运行应用程序时,只需选择主文件为BillingServiceApplication。你的pom文件没有问题。

如果没有,那么您可以与所有依赖项共享您的pom文件吗?

我认为您需要更改以下依赖项的版本

'org.codehaus.mojo:exec-maven-plugin'.

只需在stackoverflow上查看类似问题的链接:

执行目标org.codehaus.mojo失败: exec-maven-plugin: 1.2: java(default-cli)

我希望这能有所帮助!

桑坚成
2023-03-14

您的问题可能与您的artifactId中包含一个.字符有关。我从未见过这样格式化的artifactId,我认为它可能会破坏路径分辨率。通常人们使用-作为分隔符,当他们想使artifactId更可读时(如下面链接的maven指南中的公共数学)。

http://maven.apache.org/guides/mini/guide-naming-conventions.html

选择任何你想要的名字,用小写字母和不奇怪的符号

 类似资料:
  • 问题内容: 在将大多数Java独立应用程序部署到生产环境后,它们最终都位于一个类似这样的文件夹中。 我想知道Maven中是否有任何东西可以为我构建该结构并将其放在tar.gz中。 问题答案: 这种部署目录结构非常流行,并已被apache maven和ant等许多出色的应用程序采用。 是的,我们可以通过在maven软件包阶段使用maven-assembly-plugin来实现。 示例pom.xml:

  • 我是JavaFX新手。我使用Maven创建了一个Hello World项目。当我在Eclipse中运行时,它工作得很好。 当我试图使用build.fxbuild构建应用程序时,我得到了这个错误。

  • 问题内容: 如何使用Maven创建桌面(独立/ Swing)应用程序? 我正在使用Eclipse 3.6。 问题答案: 创建一个Maven项目,如下所示: 将以下条目添加到您的pom文件中: 将项目作为Maven项目导入到Eclipse,然后作为Java应用程序运行。

  • 一个普通的应用程序由以下文件组成: 二进制文件 这个安装在 /usr/bin。 一个桌面文件 这个桌面文件向shell提供关于这个程序的重要信息,例如名称、图标、D-Bus名称,启动的命令行。安装在 /usr/share/applications. 一个图标 这个图标安装在 /usr/share/icons/hicolor/48x48/apps, 无论当前背景是什么系统都会到这里查找图标。 一个设

  • 我想使用maven创建一个多层java项目,如下所示: presentationlayer-guiModule(JSP/JSF页面的最顶层) PresentationLayer-GatewayModule(web服务的最顶层) BusinessLayer-ServiceModule(中间层) DataAccessLayer(最下层) 通用层(可从所有层访问的垂直层) 根pom 耳POM Guimo

  • 问题内容: 我正在尝试使用Gradle构建相对简单的JavaFX应用程序。但是,我不知道该怎么做。 我是Gradle的新手,对于简单的(非javafx)项目,我已经成功使用了插件,并构建和打包了库和命令行应用程序。 但是,关于JavaFX,我完全陷入困境。我已经阅读了这篇文章,该文章建议使用该插件,但是我只能找到该插件的源代码,但是没有关于如何实际使用它的文档(在文章中,他们只是从远程URL应用它