https://blog.csdn.net/qiumen/article/details/111363308
上一条文章已经教了如何将springboot项目部署在jboss,这条是将配置文件放在jboss平台,去部署项目。这个主要是解决是开发者在开发环境、测试环境、生产环境配置文件切换的问题。
这个只是小小的测试。并没详细的如何规范的归档以及脚本执行部署。主要介绍存在有这种方式,亲测在jbosseap7.1以及wildfly-18.0.1.Final这两个版本
由于不同环境需要不同配置环境,另外jboss有读取配置的优先级,为了不要那么多干扰因素,测试的更顺留些,我们把本地的配置文件信息排除,不要打在war中
只需要在pom.xml配置这个信息packagingExcludes,代表打包后war包不包含这些配置信息。
(为什么是WEB-INF/classes/config.properties ,是因为在springboot maven项目中,在src/main/resources的文件编译运行后会在target下形成web-inf/classess形成相关文件)
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<warName>pm</warName>
<packagingExcludes>WEB-INF/classes/config.properties,WEB-INF/classes/application.properties</packagingExcludes>
</configuration>
</plugin>
在maven项目下,在webapp新建文件夹WEB-INF以及文件jboss-deployment-structure.xml。
这样打包的文件才会在web-inf的位置。
jboss-deployment-structure.xml的内容为
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<!-- <exclusions>-->
<!-- <module name="org.apache.log4j" />-->
<!-- <module name="org.apache.commons.logging" />-->
<!-- <module name="com.fasterxml"/>-->
<!-- <module name="org.jboss.resteasy.resteasy-jackson2-provider"/>-->
<!-- <module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider"/>-->
<!-- <module name="com.fasterxml.classmate"/>-->
<!-- <module name="com.fasterxml.jackson.core.jackson-annotations"/>-->
<!-- <module name="com.fasterxml.jackson.core.jackson-core"/>-->
<!-- <module name="com.fasterxml.jackson.core.jackson-databind"/>-->
<!-- <module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider"/>-->
<!-- <module name="com.fasterxml.jackson.datatype.jackson-datatype-jsr310"/>-->
<!-- <module name="com.fasterxml.jackson.datatype.jackson-datatype-jdk8"/>-->
<!-- <module name="org.jboss.log4j.logmanager" />-->
<!-- <module name="org.slf4j" />-->
<!-- <module name="org.slf4j.impl" />-->
<!-- <module name="org.slf4j.jcl-over-slf4j" />-->
<!-- <module name="org.slf4j.ext" />-->
<!-- <module name="ch.qos.cal10n" />-->
<!-- <module name="org.jboss.logmanager" />-->
<!-- </exclusions>-->
<dependencies>
<module name="myconfig.conf" />
</dependencies>
</deployment>
</jboss-deployment-structure>
在jboss配置该dependencies内的module模块信息,该模块信息主要写配置文件的放置文件module.xml
路径 my/conf/main是自己创建的,properties放置你所的对应环境配置文件application.propetties 或者其他相关配置。
接下来看下module.xml的内容 ,name="myconfig.conf"就是上面应用程序配置的。path="properties"是同级目录的文件夹
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.5" name="myconfig.conf">
<resources>
<resource-root path="properties"/>
</resources>
</module>
配置结束。然后重新打包放在E:\installtion\server\jboss-eap-7.1\standalone\deployments
最终启动E:\installtion\server\jboss-eap-7.1\bin\standalone.bat