在许多情况下,无需先设置应用程序就无法部署应用程序。 在JBoss AS 7.x中,您可能需要配置例如数据库连接。 或者,您必须配置一个安全领域。 也许您还想调整SLSB池…在任何一种情况下,团队中的所有开发人员都必须共享一个共同的或至少相似的配置。

通常,可以在不定期发送的电子邮件或某些Wiki页面上找到此信息。 但是,在发布后的某个时间,当您必须签出分支以修复某些错误或添加新功能时会发生什么? 您将必须重构对该分支有效的配置。 那么,为什么不将配置文件与仅用于配置整个应用程序服务器的Maven配置一起添加到版本控制系统中呢?

让我们尝试保持简单,只使用公共可用和常用的插件。 首先,让我们将以下所需的所有版本添加到pom.xml的属性部分:

<properties><jboss.install.dir>${project.build.directory}/jboss</jboss.install.dir><jboss.version>7.2.0.Final</jboss.version><app.version>${project.version}</app.version><ojdbc.version>11.2.0.1.0</ojdbc.version></properties>

我们还在这里定义JBoss AS的安装目录。 这样,我们可以根据需要使用命令行选项-D对其进行更改。 现在,我们添加一个新的配置文件,这样我们就必须显式打开设置过程,并且它不属于常规构建:

<profile><id>setupAs</id><build><plugins>...</plugins</build>
</profile>

如果我们在maven存储库中部署了当前的JBoss版本作为Maven工件,则可以使用maven-dependency-plugin下载JBoss并将其解压缩到上面给出的安装目录中:

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><version>2.8</version><executions><execution><id>unpack-jboss</id><phase>package</phase><goals><goal>unpack</goal></goals><configuration><artifactItems><artifactItem><groupId>org.jboss</groupId><artifactId>jboss-as</artifactId><version>${jboss.version}</version><type>zip</type><outputDirectory>${project.build.directory}/jboss</outputDirectory></artifactItem></artifactItems></configuration></execution>

现在,应用程序服务器已解压缩,我们必须添加JDBC驱动程序以及应用程序(或您需要的任何其他内容)。 我们通过向maven依赖插件添加另一个执行块来进行设置:

<execution><id>copy</id><phase>package</phase><goals><goal>copy</goal></goals><configuration><artifactItems><artifactItem><groupId>our-company</groupId><artifactId>our-application-ear</artifactId><version>${app.version}</version><type>ear</type><outputDirectory>${jboss.install.dir}/jboss-as-${jboss.version}/standalone/deployments</outputDirectory></artifactItem><artifactItem><groupId>com.oracle</groupId><artifactId>ojdbc6</artifactId><version>${ojdbc.version}</version><outputDirectory>${jboss.install.dir}/jboss-as-${jboss.version}/standalone/deployments</outputDirectory><destFileName>ojdbc6.jar</destFileName></artifactItem></artifactItems></configuration>
</execution>

最后但并非最不重要的一点是,我们还希望根据需要调整标准配置文件。 我们可以使用maven-resources-plugin替换每个文件中的变量值。 因此,我们将这些文件的模板添加到JBoss模块的resources文件夹中,并调用目标副本资源:

<plugin><artifactId>maven-resources-plugin</artifactId><version>2.6</version><executions><execution><id>copy-jboss-configuration</id><phase>package</phase><goals><goal>copy-resources</goal></goals><configuration><outputDirectory>${jboss.install.dir}/jboss-as-${jboss.version}/standalone/configuration</outputDirectory><resources><resource><directory>src/main/resources/jboss/standalone/configuration</directory><filtering>true</filtering></resource></resources></configuration></execution><execution><id>copy-jboss-bin</id><phase>package</phase><goals><goal>copy-resources</goal></goals><configuration><outputDirectory>${jboss.install.dir}/jboss-as-${jboss.version}/bin</outputDirectory><resources><resource><directory>src/main/resources/jboss/bin</directory><filtering>true</filtering></resource></resources></configuration></execution></executions>
</plugin>

可以在命令行中使用-D选项指定过滤值。 如果团队中有多个成员,则还可以为每个用户创建一个包含其特定配置值的属性文件。 如果使用OS用户作为文件名,则可以通过当前登录用户的名称轻松选择文件。 这样,每个团队成员都可以通过简单地运行以下命令轻松地设置自己的完全配置的应用程序服务器实例:

mvn clean install -PsetupAs

为了防止使用下一个clean调用删除新配置的服务器,我们为常规构建禁用了maven clean插件:

<plugin><artifactId>maven-clean-plugin</artifactId><version>2.5</version><configuration><skip>false</skip></configuration>
</plugin>

在上面创建的setupAs配置文件中,我们当然必须启用它,以便仅通过调用“ mvn clean -PsetupAs”就可以删除整个安装。 现在切换到较旧的分支很容易,因为我们不会浪费任何时间寻找正确的配置…

参考:来自Martin's Developer World博客的JCG合作伙伴 Martin Mois 使用maven设置应用服务器 。

翻译自: https://www.javacodegeeks.com/2013/10/setting-up-your-application-server-with-maven.html

使用Maven设置您的应用服务器相关推荐

  1. maven设置代理服务器_使用Maven设置您的应用服务器

    maven设置代理服务器 在许多情况下,无需事先设置应用程序就无法部署应用程序. 在JBoss AS 7.x中,您可能需要配置例如数据库连接. 或者,您必须配置一个安全领域. 也许您还想调整SLSB池 ...

  2. rust设置里面那个是能见度_IDEA maven设置里面的Repositories这个设置问题

    各位大佬好.我的idea工程里面maven设置Repositories没有任何东西. 然后我百度了很多办法,首先是对maven包的setting文件添加localRepository设置地址. < ...

  3. Java编译器调试不了_使用Maven设置Java编译器的-source和-target-不起作用

    我已经设置了pom文件,要求Maven使用sourceand targetconfig参数将我的源代码编译为1.5版兼容.这是我的pom: 4.0.0 com user 0.0.1-SNAPSHOT ...

  4. Maven 设置项目编码

    Maven 设置项目编码 , 需要在 pom.xml 文件中指定源码的字符集 , 设置 property 变量 现有 UTF-8 编码的源代码文件如下 : package com.ensk.exp;p ...

  5. idea和maven设置代理

    记录一次内网开发,idea和maven设置代理的过程 遇到的坑,分享出来,供大家参考! 先说一下本次开发的情况: 首先是我开发的环境是需要代理才能访问外网的,所以导致idea无法从阿里云下载最新的po ...

  6. maven 设置打包路径为模块_4、Jenkins持续集成之maven编译

    简介 Jenkins是一个开源的持续集成工具,应用Jenkins搭建持续集成环境,可以进行自动构建.自动编译和部署,非常方便.在服务器比较少的情况下,Jenkins的优势并不明显,但是随着项目发展,服 ...

  7. maven设置jdk版本(全局设置和工程设置)

    方法一:在maven文件夹下的settings.xml中添加(全局设置) <profile><id>jdk-1.8</id><activation>&l ...

  8. maven设置从本地读_如何在Eclipse中更改Maven本地存储库

    通常,这些回答了以下问题:如何更改用户设置文件? 但是我想回答的问题是如何更改本地Maven存储库位置. 答案是您必须编辑settings.xml. 如果文件不存在,则必须创建它. 您可以在窗口> ...

  9. maven设置阿里仓库

    最近下载了一个maven项目发现运行起来非常缓慢,于是发现仓库没有配置 总共就两步骤 一.设置找到maven配置文件的位置 二添加以下内容 <mirror> <id>nexus ...

最新文章

  1. CodeChef TWOROADS(计算几何+拉格朗日乘数法)
  2. Linux用户管理-服务管理
  3. AI:2020年6月22日北京智源大会演讲分享之认知神经基础专题论坛——14:20-15:00方方教授《Maps and Functions of Human Attention》
  4. 二叉树的建立以及先序、中序、后序遍历C语言实现---【递归方式】
  5. 雷军反击董明珠:感觉董总好像认输了似的
  6. linux 无密码登录另一台服务器,ECS Linux服务器ssh免密码登录另外一台服务器的具体设置...
  7. linux time
  8. 重返数学史的黄金时代,由数学推动诞生的人工智能,一部人类智慧形成的历史
  9. 信息学奥赛一本通(1137:加密的病历单)
  10. php利用引用实现树形数组
  11. Oracle的体系结构
  12. X86汇编语言从实模式到保护模式07:硬盘和显卡的访问控制
  13. 苹果电脑Mac上怎样实现图像文件格式转换?
  14. [LeetCode]319. Bulb Switcher灯泡开关
  15. android json解析歌词,网易云歌词获取
  16. meson 交叉编译
  17. php抛物线函数,通过JS如何实现抛物线运动(详细教程)
  18. php 应用截图,PHP应用:php使用CutyCapt实现网页截图保存的方法
  19. 如何删除Facebook评论
  20. Linux操纵细碎以太网卡的装配及设置-2

热门文章

  1. ArrayList整理
  2. python调用webservice接口实例_python调用webservice接口的实现
  3. git rebase命令(转)
  4. 我的控制反转,依赖注入和面向切面编程的理解
  5. jdk8 npe_JDK 14中更好的NPE消息
  6. jep290涉及jdk版本_JDK 13中的JEP 355文本块
  7. 网络研讨室_网络研讨会:Java 9的第一印象–构建可伸缩企业应用程序的新方法...
  8. java 异常处理发生异常_处理Java中的异常
  9. oauth 使用令牌_使用OAuth2令牌的安全REST服务
  10. 设计模式的Java 8 Lambda表达式-策略设计模式