公司有個大數(shù)據(jù)項目,maven分了多個模塊開發(fā),其中有寫模塊可能會依賴子模塊。每個模塊都擁有單獨的配置文件,打包的時候這些模塊都變成了jar包,要修改配置文件,只能重新打包很不方便。有什么思路能夠把這些配置文件進行統(tǒng)一管理么?
比方說hbase,項目外層建了個conf目錄,所有配置文件放在conf目錄下。但是不知道怎么與spring相結(jié)合。
這個你已經(jīng)說了。但是以下缺點
配置文件遠離使用它的模塊,要找的時候不太好找。
如果新增了一個模塊,開發(fā)人員又忘記在外層conf里補充相關(guān)文件,項目就會啟動不起來了。
配置還是在模塊的源代碼里,但是這里的配置文件只是一個模板,沒有具體值,項目啟動的時候會讀取此路徑里的配置文件。
然后在aggregator項目(比如war包)的pom.xml里做一些配置,讓maven在打包時將各個jar包里的配置文件合并起來,形成一個完整的配置文件。
你可以對這個完整的配置文件形成幾個版本:開發(fā)、生產(chǎn)、測試,放到vcs里管理起來。
比如下面的代碼:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<configuration>
<artifactItems>
<artifactItem>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>target/assembly-tmp</outputDirectory>
<includes>application-xxx.properties</includes>
</artifactItem>
...
</artifactItems>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>unpack</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<configuration>
<target>
<concat destfile="${project.build.directory}/assembly-tmp/application.properties" force="yes">
<fileset dir="${project.build.directory}">
<include name="assembly-tmp/application-*.properties"></include>
</fileset>
</concat>
</target>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<configuration>
<descriptor>settings.xml</descriptor>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。