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

将spring boot应用程序导入另一个项目

习淇
2023-03-14

因此,我试图在另一个项目(测试框架)中添加一个SpringBoot可执行jar作为依赖项。

然而,一旦添加到pom和导入。Java导入不能正常工作。如果我看看罐子里面,所有的包都在前面加上:

BOOT-INF/classes.some.package.classname.class

还有一些与Spring启动相关的软件包,MANIFEST等。

如果我将SpringBoot应用程序的构建切换为只使用SpringBootMaven插件安装和部署一个常规jar,则不会

这种情况发生了变化,一切正常。不幸的是,这对我们来说不是一个解决方案,因为我们依赖可执行jar作为发布过程的一部分。

我可以构建部署两个版本的jar并使用分类器来确定每个版本吗?

谢啦

共有1个答案

秦琦
2023-03-14

事实证明,使用SpringBootMaven插件就可以实现这个精确的场景。

Spring Boot应用程序的pom:

  <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>1.4.1.RELEASE</version>
    <executions>
      <execution>
        <goals>
          <goal>repackage</goal>
        </goals>
        <configuration>
          <classifier>exec</classifier>
        </configuration>
      </execution>
    </executions>
    ...
  </plugin>

使用Spring引导罐的项目可以正常添加:

    <dependency>
        <groupId>com.springboot</groupId>
        <artifactId>app</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <scope>test</scope>
    </dependency>

或者如果你想引用可执行的罐子

    <dependency>
        <groupId>com.springboot</groupId>
        <artifactId>app</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <scope>test</scope>
        <classifier>exec</classifier>
    </dependency>
 类似资料:
  • 问题内容: 我确信你们中有人注意到,如果您有Acrobat Reader(或其他PDF阅读器),并在Firefox中打开一个PDF,您会看到它嵌入在您的标签中。有什么方法可以将应用程序嵌入JFrame中? 问题答案: 这是一个相当棘手的问题。通常,诸如Adobe Reader之类的本机应用程序不提供可以嵌入到swing应用程序中的组件。但是在Windows中,有COM / OLE方法可以将应用程序

  • 问题内容: 我有2个项目,其中一个包含在另一个构建路径中,两个项目都有自己的应用程序上下文来定义他的bean。 我想管理全局事务,因此我必须在一个应用程序上下文中同时导入这两个事务,但是我没有找到做到这一点的方法。 在不同的项目中可能有2个应用程序上下文,并将其中一个导入另一个。 如果没有可能,那将是最佳解决方案? 我认为成为1中的2个项目。 问题答案: 是的,可以导入;在您的一个appconte

  • 我有两个应用程序:同事和服务,每个都有自己的模型 在coworkers models.py中,我可以“从services.models导入服务”。 当我尝试在services models.py中“from coworkers.models import Status”时,会收到以下错误消息: 回溯(最近一次调用):文件“/Users/lucas/Documents/projetos/cwk-ma

  • 我的AWS lambda项目结构如下: 是带有

  • 我使用docker compose在docker容器中运行SpringBoot应用程序,在另一个docker集装箱中运行另一个VueJS应用程序。yml如下: 我试图调用SpringBoot REST API从我的VueJS应用程序使用超文本传输协议://backend: 8080/hello和它失败GET超文本传输协议://backend: 8080/hello net::ERR_NAME_NO

  • 问题内容: Hay,如何将org.apache.commons包导入android,以便可以在应用程序中使用它们? 谢谢 问题答案: 如果您使用的是eclipse: 下载您感兴趣的库的jar包 在eclipse-> Java Build Path-> Libraries中转到项目属性。在此处添加外部JAR。