在开发人员之间同步jboss模块和jbossdatahome

时间:2015-06-10 13:56:46

标签: java maven jboss jboss7.x jboss-arquillian

我们正在使用本地jboss 7实例(maven jboss plugin)和自定义模块进行本地开发。每个开发人员都可以处理多个项目。对于每个项目,每个开发人员都需要具有正确的jboss模块和jbossdatahome文件夹。 每个开发人员都需要与这些文件夹相同的路径,因为它们在maven pom中进行了硬编码(maven-jboss-plugin config)。

我真的很讨厌这个设置和随之而来的管理工作(当更改项目时)。

我们如何方便地同步模块,jboss config&每个项目的所有开发人员之间的jbossdatahome?

我最初的想法是将所有内容放在每个项目的SVN文件夹中,但由于模块包含jar(并且jboss实例本身也相当大),我猜它很快会变得太大。

我想要一些便携式maven配置。但还没有找到任何解决方案..

有建议的人吗?

1 个答案:

答案 0 :(得分:1)

您可以使用JBoss CLI编写JBoss实例的配置脚本。您需要确保在某处可以使用JAR文件。

如果您创建了一个文件,例如module-add.cli中包含以下内容:

module add --name=org.mysql --resources=mysql-connector-java-5.1.18-bin.jar --dependencies=javax.api,javax.transaction.api 
/subsystem=datasources/jdbc-driver=mysql:add(driver-module-name=org.mysql,driver-name=mysql,driver-class-name=com.mysql.jdbc.Driver)
/subsystem=datasources/data-source=MySQLDS:add(jndi-name=java:jboss/datasources/MySQLDS, driver-name=mysql, connection-url=jdbc:mysql://localhost:3306/as7development,user-name=root,password=admin)

并且您将所有JAR存储在一个已知的存储库中(我过去使用过Nexus)您可以创建一个简单的bash脚本来设置它,例如:

wget http://url.to.nexus/hosted/jboss/module.jar
/$JBoss-Home/bin/jboss-cli.sh -c --file=module-add.cli

这会将您的module.jar下载到您运行脚本的同一目录中。您可能更愿意使用所有绝对路径以保持一致性(并使用更少的先决条件使脚本更可重用)

它并不完美,但它确实有效。

您还可以使用Vagrant这样的方法来处理此方法,以便为您提供可预测的方式来配置和配置环境。

CLI脚本来源 http://www.mastertheboss.com/jboss-server/jboss-script/installing-a-jboss-as-7-module-using-the-cli