window部署jboss ,配置檔案分離,設定外接的properties檔案
技術標籤:jbossspring bootjboss配置分離
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