问题标签 [spring-boot-maven-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1136 浏览

maven - 用于停止 spring-boot-maven-plugin 执行运行的命令行 mvn 参数

我正在开发一个 Spring Boot 应用程序,作为我的 maven 项目的集成测试阶段的一部分,我已将 spring-boot maven 插件配置为在构建的前后集成测试部分期间启动和关闭,如下所示:

但是,我这样做只是为了让我的开发人员可以针对服务的本地实例运行他们的测试。在 Jenkins 上,我将针对已部署该服务的外部服务运行测试,并且我不需要在 Jenkins 作业中启动 Spring Boot 应用程序。

有没有办法让我通过 mvn 命令行覆盖显式阻止 spring-boot maven 插件启动服务?

0 投票
1 回答
5355 浏览

java - 在多模块项目中找不到工件

所以基本上,我有一个多模块项目,例如

相关部分(我相信)pom.xmlProjectA

pom.xml对于 Module1 是:

依赖于 Module1的pom.xmlModule2 如下:

我可以很好地构建和安装 Module1。我可以在 Module2 中从中导入类,但我无法使用以下命令编译 Module2:Could not find artifact com.companyName:ProjectA:pom:0.0.1-SNAPSHOT

同样,我正在构建另一个项目,ProjectB,它将具有 Module3。在模块 3 中pom.xml

但是,我无法将它导入到我的 .java 文件中,因为 com.companyName.ProjectA 不可用,IntelliJ 警告我。我究竟做错了什么?我已经尝试了相关多模块项目问题中的几乎所有配置。谢谢!

更新:控制台输出已更改为:

更新: 有趣的是,删除:

from parent project ( ProjectA) 使项目再次可构建。但是,我需要它(出于明显的原因)是否有解决方法?谢谢!

0 投票
4 回答
1554 浏览

spring-boot - spring-boot:RSA premaster secret 错误:SunTls12RsaPremasterSecret KeyGenerator 不可用

我正在运行由码头启动的 spring-boot 应用程序。我曾经成功地开始。但现在有些不对劲,很奇怪。

这是我的 pom.xml:

这是日志:

谢谢你。任何评论或答案都会对我有所帮助。

0 投票
1 回答
1301 浏览

spring - Maven/Spring 没有正确运行 jmeter 测试

我正在尝试为 spring 应用程序自动执行 jmeter 性能测试。

如果我运行应用程序,然后在一切正常之后执行 jmeter 测试。

但是,如果我在mvn -e -X verify没有单独启动应用程序的情况下运行,则会发生这种情况:

这导致

我一直在谷歌搜索并试图弄清楚一段时间,但我很困惑为什么它不起作用。

我的 pom.xml 的构建部分:

0 投票
5 回答
47146 浏览

maven - Maven中的“找不到符号”错误

我看到很多关于stackoverflow的问题。但是我仍然无法知道我构建项目的方式有什么问题。

我有两个 Spring Boot 项目:we-data 和 we-web。we-web 依赖于 we-data。we-data 在 Maven 上编译得很好。但是 we-web 给了我以上错误。

我们数据pom:

我们网络 pom:

每次我在 we-web 上执行 maven“干净编译包安装”目标时,我都会收到 maven 错误。没有找到这个抱怨的所有符号都在 we-data 项目中。出于某种原因,它说在 we-web 中找不到所有类别的 we-data。但是当我将应用程序作为 spring boot 应用程序运行时,一切都很好。没有 maven 错误对此很重要。:

我有 1.8 jdk 被 STS 使用。而且我还没有将 we-data 项目放在 we-web 的构建路径上。我希望这件事过去,因为我想为此引发一场战争。请帮忙。我在 we-data 上进行“干净的编译包安装”,然后在 we-web 上进行。“更新 Maven 项目”也没有帮助我。

0 投票
0 回答
97 浏览

java - 在 Spring Boot 应用程序构建中包含特定的包

有没有办法在 Spring Boot 应用程序构建期间包含特定的包?我使用了 spring-boot-maven 插件。
我知道在同一个项目中拥有我们不希望在构建中的类不是很习惯,但我想检查这是否可能?
即使可以使用任何其他方式(即不使用 spring-boot-maven 插件)构建 spring-boot 可执行 jar,我也很高兴知道。

0 投票
1 回答
1840 浏览

java - 如何使用 Spring Boot 框架开发 Maven 多模块应用程序

我有一个完美运行的 Maven 多模块 Java 项目,直到我尝试包含 Spring Boot 框架。名为core的主模块调用正常,但其余所有模块都无法实现我在Core.java中声明的接口。

抛出此错误:


项目结构:


文件/目录结构:


服务.java

核心中的CoreServiceImpl.java

module1中的ModuleServiceImpl.java


绒球

mvnmodularapp pom

核心pom

模块1 pom

0 投票
3 回答
4241 浏览

java - 使用 Maven 构建的 Spring Boot JAR 使用 requiresUnpack 不起作用

我想我遇到了以下问题Jersey 并不总是适用于 Spring Boot fat jars。解决方法应该是在 to 中设置Jersey依赖POMrequiresUnpack

我的POM样子是这样的:

但是当我尝试运行我构建的 JAR 时仍然出现以下错误mvn package

运行我在 IDE 中使用 Artifacts 构建的 JAR 效果很好。

POM或我用 Maven 构建 JAR 的方式有什么问题吗?

0 投票
0 回答
1549 浏览

java - Spring Boot Maven/Gradle 插件:bootRun 任务生成很长的类路径?

成分

  • Spring Boot 1.4.3(也尝试过使用 Spring Boot 1.5 RC1)
  • Mac OS Sierra 上的 Java 1.8.0_112
  • 摇篮 3.3 / Maven 3.3.9
  • 使用 Spring Boot Gradle 插件配置的简单 Java Web 应用程序(同样的问题似乎也适用于 Spring Boot Maven 插件)

问题

尝试通过之类的方法运行应用程序,gradlew clean build bootRun或者只是gradlew bootRun表明 gradle/java 进程在没有任何提示的情况下悲惨地退出/崩溃。除以下内容外,不会显示更多错误或日志:

“/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/bin/java 以非零退出值 1 完成”。

然而,运行gradlew bootRun --debug表明 BootRun(Gradle 的 JavaExec 的扩展)任务似乎想要生成一个非常非常长的 Classpath 条目,最终会破坏 Java 进程。

Spring Boot 文档指定:

要在不构建 jar 的情况下就地运行项目,您可以使用“bootRun”任务

http://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-gradle-plugin.html#build-tool-plugins-gradle-running-applications

但是如果插件要生成这么长的类路径,这种方法似乎不起作用。

复制

这里的这个项目可能会证明这个问题:

https://github.com/apereo/cas-gradle-overlay-template

cas/build.gradle文件中,可以添加一个依赖项来观察行为:

compile "org.apereo.cas:cas-server-support-json-service-registry:${project.'cas.version'}"

诊断

该项目包含以下依赖项:

dependencies { compile "somewhere:something:somehow@war" }

这对bootRun;完全没有问题。但是,当任何其他编译/运行时依赖项添加到项目中时,所有可传递或其他依赖项都将添加到类路径中bootRun以执行。

我还尝试创建一个“路径”JAR,希望插件/Java 可以简单地使用该Class-PathJAR 清单中的条目来运行 Web 应用程序,并且传递给 java 命令的类路径条目将被缩短。然而,这并没有产生任何影响,java 再次崩溃了。

请注意,将 Web 应用程序作为可执行 jar 运行,java -jar app.war与所有依赖项等完美配合。

其他人是否遇到过类似的问题?

0 投票
1 回答
245 浏览

maven - 使用自定义布局时自定义 Launcher ClassNotFound 异常

Spring Boot Maven 插件。布局工厂新功能。从 1.5.0.M1 开始可用。

在自定义布局中定义自定义启动器时遇到问题:

如果我在启动应用程序源中包含我的自定义启动器,它会被重新打包到 BOOT-INF/类,当我尝试运行 JAR 时它会失败并出现 ClassNotFound 异常。

我一直在阅读 Repackager 代码,但我找不到任何允许从重新打包序列中选择性地排除给定类的钩子。如果我在布局中覆盖 getRepackagedClassesLocation 方法,则引导主类由不同的类加载器加载,并且在 SpringBoot ClassNotFound 上失败。

有什么方法可以强制启动器退出 BOOT-INF/classes 重新打包?

更新 1

为了查看代码是否可以访问,我添加了这个测试:

对于第一个循环,我得到以下日志:

类名旁边的数字是 CRC。我不确定是否相关,但 CRC-32 是未知的。

使用类加载器时,我能够加载 com.test.Boot 但它在 PropertiesLauncherInternal.class 的 ClassNotFoundException 上失败