最近我参与了一个项目的维护工作
这个项目非常陈旧,IBM RAD要求构建过程
我们必须从头开始重建整个项目,但与此同时我们必须保持这个旧项目
我想转移到CI系统并使用Maven或Gradle(首选)等软件自动化构建过程
问题是这个项目正在使用一些IBM库来处理EJB(一个我很缺乏知识和经验的领域),而且我有一个 ejbModule ,里面充满了类在SVN中并且是从RAD(所有存根类)自动生成的
存根的目的是什么?
看到这个后,我不太确定是否可以自动化构建过程,有人有这方面的经验吗?
对于缺乏细节感到抱歉,我不知道我可以添加哪些更详细,需要更多的东西问。
答案 0 :(得分:1)
我们在RAD中使用ejb 2.0开发了一个系统,部署在websphere 6.1服务器上
如果你有类似的设置,你可以复制我们使用的结构。
我们使用maven作为构建工具,使用以下插件;
我们使用配置文件在任何接口更改时激活存根的生成,并使用xdoclet注释bean类,包括特定于websphere的绑定,以生成ejb-jar.xml和其他ibm部署文件。
使用hudson-ci需要花费几周的时间才能完成工作,因此可能需要设置pom和插件以适应您的项目。
我们的pom.xml样本;
<groupId>your.group.id</groupId>
<artifactId>your.artifact.id</artifactId>
<packaging>ejb</packaging>
<build>
<plugins>
<plugin>
<artifactId>maven-ejb-plugin</artifactId>
<configuration>
<ejbVersion>2.0</ejbVersion>
<generateClient>true</generateClient>
<clientIncludes>
<clientInclude>**/interface/**</clientInclude>
</clientIncludes>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>xdoclet</id>
<activation>
<property>
<name>xdoclet</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xdoclet-maven-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>xdoclet</goal>
</goals>
<configuration>
<tasks>
<ejbdoclet
destDir="${project.build.sourceDirectory}"
force="true" ejbSpec="2.0"
verbose="true">
<fileset
dir="${project.build.sourceDirectory}">
<include name="**/*Bean.java" />
</fileset>
<packageSubstitution
packages="service" useFirst="true"
substituteWith="interface" />
<homeinterface />
<remoteinterface />
<deploymentdescriptor
displayname="Service Name"
description=""
destDir="${basedir}/src/main/resources/META-INF"
validateXML="true" useIds="true" />
<websphere
destDir="${basedir}/src/main/resources/META-INF"
validateXML="true" />
</ejbdoclet>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</profile>
<profile>
<id>was-ejb</id>
<activation>
<property>
<name>was-ejb</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>was6-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>ejbdeploy</goal>
</goals>
</execution>
</executions>
<configuration>
<wasHome>C:/Program Files/IBM/WebSphere/AppServer</wasHome>
</configuration>
</plugin>
</plugins>
</profile>
</profiles>