问题标签 [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 投票
3 回答
82784 浏览

spring - 在 Spring Boot 的 application.properties 中使用 Maven 属性

我正在尝试将 pom.xml 中的属性加载到 application.properties 中。我想创建两个配置文件:dev 和 prod 以使用不同的数据库 url。我使用 Jenkins 作为 CI,在我的所有应用程序(主要是 Spring MVC,没有 Boot 项目)中都使用 maven 配置文件部署到 Tomcat。使用 maven 属性可以做到这一点吗?我尝试过这样的事情: spring.datasource.url=${jdbc.url}

0 投票
1 回答
788 浏览

angularjs - 带有实时重载的 Spring Boot Maven 插件和 Grunt

我创建了一个 Spring Boot 应用程序,我想部署一个通过 Yeoman(角度生成器)生成的 Web 前端。但是,我无法让事情正常工作:当我运行应用程序时,我的静态资源被部署用于生产(localhost:8080/dist/index.html 工作很酷),而不是用于开发(localhost:8080/app/index.html工作不酷)。

我将整个 Web 前端结构移动到static. 通过终端,我可以 cd 到该文件夹​​ ( src/main/resources/static) 并运行grunt buildand grunt serve; 这样,当我在前端工作时,我可以利用实时重新加载。

然后,我在项目根目录中创建了以下脚本,以通过 grunt 构建我的前端:

我修改我pom.xml的如下:

现在,当我执行时mvn spring-boot:run,我的 Spring 项目可以正确启动,但是 grunt 是为生产而构建的(访问 app/index.html 不会让我加载 angular&co)。

如何连接东西以便我可以执行mvn spring-boot:run并编译、部署和实时重新加载我的前端项目(即我想访问 localhost:8080/app/index.html 并加载 angular&co)?

0 投票
5 回答
9217 浏览

java - Spring Boot 命令行属性不覆盖 application.properties 中定义的属性

我创建了一个使用旧库的 Spring Boot 应用程序。这个遗留库在 XML 中定义了许多 Spring Bean。其中一个将属性值作为构造函数参数:

在我的 Spring Boot 应用程序中,我有一个application.properties定义此属性的方法,如下所示:

我使用 Maven Spring Boot 插件在本地运行我的应用程序,如下所示:

并且属性值按预期注入到 bean 中。

如果我尝试像这样覆盖my.url命令行上的属性:

不使用覆盖的值,而是使用内部的值application.properties

根据 Spring Boot 文档,命令行中的值应作为第一要务:https ://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config .html。此处似乎并非如此,因为如果我从中删除该属性,application.properties则使用在命令行中传入的值,因此不会完全忽略命令行值。该值似乎application.properties覆盖了命令行值。

有人对发生的事情有任何想法吗?

0 投票
2 回答
7131 浏览

java - Spring Boot 可执行 jar 抛出 java.lang.ClassNotFoundException: org.apache.tomcat.util.descriptor.web.ServletDef

我创建了一个简单的测试用例,显示了我当前面临的问题。

我试图做的是手动启动从 CommandLineRunner 嵌入的 Tomcat 并手动部署文件系统上某处可用的 war 文件:

这是我的简单 pom.xml:

所以这就是发生的事情:

  1. 如果我从 Eclipse 中运行应用程序,则完全没有问题;

  2. 如果我运行“mvn clean package”然后运行“java -jar [path-to-jar]”,我得到:

    /li>
  3. 如果我用 maven-shade-plugin 替换 spring-boot-maven-plugin,然后尝试“mvn clean package”,然后是“java -jar [path-to-jar]”,一切正常。

我是否缺少 spring-boot-maven-plugin 上的一些配置以使我的可执行 jar 实际工作?

更新 1

我的问题与这个有点相关。我尝试了那里提出的解决方案,它确实可以从命令行和 Eclipse 中工作。

但是,我仍然不明白在我的具体案例中表现出的不一致行为:

  • 为什么它在 Eclipse 中有效,而在命令行中无效?
  • 如果我用 maven-shade-plugin 替换 spring-boot-maven-plugin 为什么会起作用?
0 投票
2 回答
703 浏览

eclipse - 春季启动应用程序中的Oracle驱动程序ojdbc6 maven依赖错误

我正在尝试开发将在后端连接到 oracle db 的 spring boot 应用程序。对于 oracle db 连接,我添加了 ojdbc6 驱动程序依赖项。我已经在 .m2 文件夹中有 ojdbc6 jar。但我仍然在 pom.xml 中为 ojdbc6 依赖项“缺少工件 com.oracle:ojdbc6:jar:11.2.0.3”出现编译错误

根据各个站点上提到的解决方案,我尝试使用以下 mvn 命令安装 ojdbc6 jar: mvn install:install-file -Dfile={Path/to/your/ojdbc.jar} -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion =11.2.0.3 -Dpackaging=jar

但它没有说工件已经存在:

jar安装错误

pom.xml 中的错误:

0 投票
4 回答
24194 浏览

spring-boot - Springboot 未加载 application.dev.properties 文件

在我的项目中,我想使用特定于环境的属性文件。例如,如果我将它运行到开发中,它应该使用 application.dev.properties,对于生产它应该使用 application.prod.properties 等等。

我的资源文件夹中有以下两个文件。

  1. application.properties(用于生产)
  2. application.dev.properties(用于开发)

我在每个文件中都有一个如下属性。

产品

对于开发

我有一个像下面这样的课

上面的代码总是采用 prod 设置(application.properties)文件,即使我为 dev 提供了正确的参数,比如--spring.profiles.active=dev

下面是我用来加载开发属性文件的命令。

它还打印出活动配置文件是 dev,但它始终连接到 prod db。

0 投票
1 回答
1085 浏览

maven - Spring Boot Maven 插件 - 定义工作目录

我正在开发一个 Spring Boot 应用程序版本 1.3.5.RELEASE,我正在尝试使用 spring-boot-maven-plugin (使用启动/停止目标)实现集成测试。我的 application.properties 文件当前位于 target/test 文件夹中,但是在运行它时,应用程序正在项目的根路径中查找 application.properties 文件。

有谁知道如何在spring boot maven插件中设置工作目录?

我当前的插件配置是:

0 投票
1 回答
663 浏览

java - 弹簧启动执行器在 Java 6 上不起作用

在 java 中,我试图在我的项目中设置 spring boot 执行器。基于官方 Spring Boot 网站http://docs.spring.io/spring-boot/docs/current/reference/html/我尝试只声明执行器依赖项。下面是具有执行器依赖项的 pom 文件。

`

当 spring boot 服务启动时,我也没有看到任何 http 服务器正在启动,当我尝试访问默认 url http://localhost:8080/info 或 /health 时,我收到连接被拒绝错误。关于我在这里缺少什么的任何指示?

编辑我原来的问题:详细说明为什么会有这么多排除项

完成上述排除,以便我可以使用 log4j 而不是 spring boot http 提供的默认 logback 配置://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html#howto -configure-log4j-for-logging

以上是为了启用 HikariCP 连接池而不是 spring boot http://stackoverflow.com/a/36287225/1776145提供的tomcat连接池

上面的排除是用jetty代替tomcat http://docs.spring.io/spring-boot/docs/current/reference/html/howto-embedded-servlet-containers.html#howto-use-jetty-instead -of-tomcat

上述排除已完成,因为它在我使用 Java 6 时给出了不受支持的重大小错误

0 投票
1 回答
103 浏览

spring-boot - 我如何将常量值从 tomcat 传递到 war 文件(即基于 spring-boot )?

经过大量的在线搜索并尝试了很多实验。最后我没有得到任何可以满足我要求的链接,所以最后我选择了这个平台。

笔记 : I am using Spring-Boot Maven Project & Tomcat 7.0.62 version & JDK 7.

首先,我正在使用Embedded Tomcat & produce .Jar,并且我将额外的内容传递dynamic parameter.jarusing command line argument

现在,场景已经改变。我的.Jar文件也将转换为.war文件,excluded Embedded Tomcat 即我们没有嵌入 Tomcat。

现在我想将类似from tomcat的东西传递same list of command-line argument给我的 Spring-Boot 项目。.war file from outside.

任何帮助表示赞赏。

0 投票
1 回答
476 浏览

spring-boot - 如何将 spring-boot-maven-plugin 生成的 jar 包含到第三个应用程序中

我创建了一个依赖于的应用程序a.jar,它是由 spring-boot-maven-plugin 生成的。a.jar依赖于另一个b.jar,它位于它的lib\文件夹中。当我启动我的应用程序时,我收到以下错误:

可以将 spring-boot-maven-plugin 生成的 jar 添加到第三个应用程序的类路径中吗?如果是,如何?