Tag: spring boot maven plugin

部署Spring Boot 1.3.2 IBM WAS 8.5

我在使用完整配置文件在IBM Websphere 8.5.5.8上部署简单的spring boot Web时遇到了问题 默认情况下,WAS使用servlet 3.0和java 1.7。 应用程序没有太大作用,只显示一个“Hi – [current-date]”页面。 部署war文件时,我们在服务器日志输出中看到以下内容: [2/3/16 13:30:44:857 AST] 00000078 AdminHelper A ADMN1008I: An attempt is made to start the simpledemo_war application. (User ID = defaultWIMFileBasedRealm/wps_admin) [2/3/16 13:30:44:871 AST] 00000078 CompositionUn A WSVR0190I: Starting composition unit WebSphere:cuname=simpledemo_war in BLA WebSphere:blaname=simpledemo_war. [2/3/16 13:30:44:958 AST] 00000078 ApplicationMg A WSVR0200I: Starting application: […]

spring-boot-maven-plugin可用于非弹簧项目吗?

spring-boot-maven-plugin主要目标是将spring boot应用程序打包到具有所有依赖项的可执行jar中。 它可以用于没有弹簧或弹簧靴的项目吗? 我不是使用spring依赖项,而只是用于加载依赖jar的类加载器机制。

Spring Boot从命令行执行将文件添加到classpath

我正在使用Netbeans 8.2来开发Spring应用程序。 我遇到问题的这个特定应用程序是一个Spring Boot 1.5.3应用程序。 我有一个spring xml文件和一个application.properties,我保存在根项目目录下的/ config中。 我通过@ImportResource注释和一个值属性(如@ImportResource(value=”${config.xmlfile}”)将spring xml文件传递给我的项目。 当我单击Netbeans中的“运行项目”按钮时,我的Spring应用程序启动并正确找到我的/ config文件夹中的application.properties文件。 但是,对该文件夹中其他文件的任何类路径引用都将丢失。 例如,将config.xml文件设置为classpath:config/file.xml或classpath:file.xml都无法找到文件,但file:config/file.xml无效。 同样,从命令行运行时,我的结构如下: app/ |– bin | `– app-run.sh |– config | |– application.properties | |– log4j2.xml | |– file.xml `– app-exec.jar 我使用spring-boot-maven-plugin来制作如下jar: org.springframework.boot spring-boot-maven-plugin ${spring.boot.version} repackage exec 我的app-run.sh脚本执行以下操作: exec /bin/java -cp :.:../config/*:../app-exec.jar -Dlogging.config=../config/log4j2.xml -Dspring.config.location=../config/application.properties -jar ../app-exec.jar 其中/ bin / java表示我安装java的位置。 在-cp中设置的类路径似乎不起作用。 与通过IDE运行时类似,将config.xml文件设置为classpath:config […]

Maven Spring Boot插件:如何从另一个项目运行spring boot

https://docs.spring.io/spring-boot/docs/current/maven-plugin/usage.html 我有一个项目,有2个模块。 [Parent] |-pom.xml | [SpringBoot2App] | |-pom.xml | [test] | |-pom.xml (start goal here!) 我想在一个单独的项目中运行集成测试(maven failsafe插件),这是另一个模块。 在父模块的集成测试期间,是否可以配置spring boot maven插件来启动/停止子模块? 我尝试过这样的事情没有成功 org.springframework.boot spring-boot-maven-plugin com.SimpleServiceApplication ../SpringBoot2App/target/classes ../SpringBoot2App/target/test-classes start pre-integration-test 哪个不起作用。 我还尝试在读取插件超级类的源代码后添加“project”参数https://github.com/spring-projects/spring-boot/blob/master/spring-boot-project/spring-boot -tools /弹簧引导Maven的插件/ src目录/主/ JAVA /组织/ springframework的的/ boot /行家/ AbstractRunMojo.java com.SimpleServiceApplication ${project.parent.collectedProjects[0]} 这指的是正确的项目,如调试所示,但也不起作用。 请不要评论[0],我知道[0]不干净,是一个需要直接了解父pom模块排序的耦合。 我在org / springframework / boot / SpringApplication上得到一个java.lang.NoClassDefFoundError 我将starter-web项目添加到测试pom.xml,结果相同

SpringBoot完全可执行jar,里面没有依赖项

注意:在将此问题标记为重复之前,请确保您知道可执行JAR与完全可执行的SpringBoot JAR之间的区别。 官方的Spring Boot文档描述了如何构建完全可执行的JAR。 然后生成的JAR文件可以从/etc/init.d/链接并作为普通的unix服务启动/停止/重新启动/统计,而无需其他脚本或JSVC等工具。 但是生成的JAR包含所有库,并且可以足够大(在我的情况下为70Mb +)。 我想生成没有库的完全可执行的JAR,但是能够在Linux上以SystemV服务的forms运行它并以某种方式链接外部库(JAR)。 UPDATE 我想减少工件大小,以加快deploy-> test-> fix cycle。 有时我通过移动网络工作,大文件大小会大大降低我的工作速度。 如果没有简单的配置属性或配置文件或命令行选项,我会使用一种hack。 开始时,我可以生成包含所有依赖项的构建。 然后我可以解压缩它并将所有库移动到一个特殊的文件夹。 然后我需要以某种方式再次打包它作为完全可执行文件并运行指向带库的文件夹。 我认为这不能用jar实用程序完成,因为file实用程序将完全可执行的jar识别为data $ file fully-executable.jar file fully-executable: data 不像通常的jar子 $ file usual.jar usual.jar: Java Jar file data (zip)

spring-boot-devtools重新加载多模块maven项目的变化

重新加载多模块maven项目的变化 设置 想象一下多模块maven项目。 项目结构是: pom.xml //parentpom | pom.xml //submodule_1 | pom.xml //submodule_2 . . . pom.xml //submodule_7 例如,submodule_5将submodule_6和submodule_7作为依赖项。 可以构建submodule_5以构造可以部署的War-file。 只要submodule_5的类路径发生变化, Spring-Boot-Devtools就会提供自动重启function。 每当使用以下命令运行应用程序时: mvn spring-boot:run 并且对submodule_5进行了更改(取决于您使用类路径的IDE变更。(对于Eclipse自动/对于InteliJ,当按Ctrl + F9时 ))spring-boot自动重启应用程序并添加更改。 发生在submodule_6或submodule_7上的更改不会触发自动重启。 问题 是否有办法使它无论何时你在submodule_6或submodule_7中进行更改以强制重启并在那里应用更改? Spring-boot-devtools使用两个类加载器:“Base Classloader”和“Restart Classloader”。 是否应该在初始启动应用程序时将submodule_6和submodule_7添加到“Base Classloader”,而submodle_5保存在“The Restart Classloader”中? 这样,每当submodule_5强制重启时,它都会使用“The Base Classloader”中的submodule_6和submodule_7版本?

使用Spring Boot Maven插件时,jar文件中缺少Spring Boot应用程序中的资源

我使用Spring-Boot v1.3.0.M5和Maven v3.3.3。 我曾经能够使用此命令从控制台运行我的Spring Boot(启动)应用程序。 mvn clean package spring-boot:run 但是,我不得不修改我的pom.xml以考虑不同的环境构建。 特别是,我使用Maven配置文件来修改启动应用程序的属性文件。 现在,当我运行前面提到的命令时,启动应用程序无法运行并抱怨以下exception。 引起:java.lang.NumberFormatException:对于输入字符串:“$ {MULTIPART.MAXREQUESTSIZE}” 我有一个位于src/main/resources/config/application.properties的属性文件。 此属性文件有一堆键值对,如下所示。 multipart.maxFileSize=${multipart.maxFileSize} multipart.maxRequestSize=${multipart.maxRequestSize} 然后在我的pom.xml ,我的构建定义如下。 src/main/resources true **/*.properties src/main/resources false **/*.properties org.springframework.boot spring-boot-maven-plugin env-dev true env dev 250MB 250MB env-stg false env stg 500MB 500MB 我注意到如果我输入mvn clean package并查看jar文件, application.properties文件就在jar中。 但是,如果我输入mvn clean package spring-boot:run ,那么applications.properties文件不在 jar中。 实际上, src/main/resources下的任何内容都不会进入jar文件。 这个问题对我来说有点烦人,因为如果我想从命令行运行我的启动应用程序,我现在必须做两个步骤。 mvn clean […]

Spring Boot Maven插件 – 没有BOOT-INF目录

在spring-boot-maven-plugin的版本1.3.8.RELEASE和版本1.4.0.RELEASE之间 – 生成的包结构发生了变化(如果你提取uber jar文件)1.3.8.RELEASE com, lib,META-INF和org目录1.4.0.RELEASE有一个BOOT-INF,META-INF和org目录,基本上是从1.4.0.RELEASE开始 – 所有的类和库都在BOOT-INF目录中。 由于这个原因 – 当你尝试在Amazon Lambda上运行一个Spring Boot项目时 – 它说没有找到一个jar,因为它无法读取新的Spring Boot Uber jar结构 我的问题是 – 是否有可能在较新版本的Spring Boot Maven插件中生成uber jar,使其与版本1.3.9.RELEASE中的结构相同? 我尝试了maven-shade-plugin – 但这导致了其他问题 任何帮助是极大的赞赏 谢谢Damien