如果有人仍在尋求幫助,我們在項目創建時創建了RAD和WAS 8.5特定文件,採取了一種稍微不同的方法。
對於我當前的項目,我們有一個相當標準的項目結構和命名約定,所以我們使用Maven原型來創建我們的項目,並在Maven原型中包含IBM特定的文件ibm-webservices-bnd.xmi 。
做到這一點
最簡單方法是利用現有的項目有那些必要的文件,並從項目文件夾使用create-from-project
原型:
mvn clean archetype:create-from-project -Dinteractive=true
使用交互模式給原型明智archetype.artifactId
(但不改變項目的GAV):
Define value for archetype.groupId: com.name.archgroup: : com.name.common.archetype
Define value for archetype.artifactId: MyService-archetype: : service-archetype-0.8
Define value for archetype.version: 1.0-SNAPSHOT: :
Define value for groupId: com.name.archgroup: :
Define value for artifactId: MyService: :
Define value for version: 1.0-SNAPSHOT: :
Define value for package: com.name: : com.name.common.archetype
這讓你最的方式,但IBM的文件不會默認處理。然後訣竅是修改/ MyService/target/generated-sources/archetype/target/classes/archetype-resources中的生成目標文件以修改IBM文件。用${rootArtifactId}
和${groupId}
替換舊項目名稱和包名稱的實例,以跟蹤哪些文件具有不正確的值。
然後修改/MyService/target/generated-sources/archetype/target/classes/META-INF/maven/archetype-metadata.xml以包含您在過濾中手動更改的文件。例如,在我的EJB模塊部分,包含* .xmi但未被過濾。移動包括對過濾的文件集:
<fileSet filtered="true" encoding="UTF-8">
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
<include>**/*.xmi</include>
</includes>
</fileSet>
你需要爲你修改,以包括一切做這${rootArtifactId}
或${groupId}
,這樣的速度處理它在下一步:
cd target\generated-sources\archetype
mvn install
這將你的更改打包並將jar放入本地存儲庫,以便在發佈到Maven存儲庫服務器之前對其進行測試。
一旦你感到滿意,添加您的Maven倉庫目標/生成的來源/原型/ pom.xml中並運行
mvn deploy
並指導開發人員開始使用原型來創建Maven化項目。
注:我們的IBM-web服務-bnd.xmi文件顯示,包括像xmi:id="RouterModule_1123456789"
我們,因爲它似乎是項目特定的mvn install
之前刪除此值。
您可能想要指定您正在使用的WebSphere版本,但我從來沒有找到一種方法在不使用RAD的情況下爲我們的v6.1執行所有此配置。這些文件的一些內容稍後可以通過WebSphere控制檯進行修改,如果您知道自己在做什麼,則可以自己手動創建文件,但我從來沒有找到一種簡單的方法來正確配置所有內容沒有RAD工具。 – dbreaux