1. 程式人生 > 其它 >window部署jboss ,配置檔案分離,設定外接的properties檔案

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