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

maven设置代理服务器

在许多情况下,无需事先设置应用程序就无法部署应用程序。 在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文件夹中,并调用目标copy-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设置代理服务器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346075.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java编程中的di是什么_java-在Spring IoC / DI中使用@Component注释对接口...

在Spring类中,通常使用Component注释接口,特别是对于某些Spring构造型注释&#xff1a;package org.springframework.stereotype;...Componentpublic interface Service {...}要么 &#xff1a;package org.springframework.boot.test.context;...Componentpublic interface Te…

使用React和Spring Boot构建一个简单的CRUD应用

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕&#xff1f; 尝试使用Okta API进行托管身份验证&#xff0c;授权和多因素身份验证。 React的设计使创建交互式UI变得轻松自如。 它的状态管理非常有效&#xff0c;并且仅在…

java初始化该字符串值_java字符串数组初始化和赋值

//一维数组String[] str new String[5]; //创建一个长度为5的String(字符串)型的一维数组String[] str new String[]{“”,””,””,””,””};String[] str {“”,””,””,””,””};String数组初始化区别首先应该明白java数组里面存的是对象的引用&#xff0c;所以必…

java 无法找到ant_Java-Ant需要tools.jar并且无法找到我

Java-Ant需要tools.jar并且无法找到我我将一个Java程序的开发环境放在一起&#xff0c;并且在第一次尝试使用Ant构建脚本后&#xff0c;出现了以下错误&#xff1a;Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-6-openjdk/lib/tools.jar虽然通往jdk的…

js实现日历框上一日下一日_一日三项令人兴奋的Lucene功能

js实现日历框上一日下一日昨天是富有成效的一天&#xff1a;突然&#xff0c;Lucene有了三个令人兴奋的新功能。 表达式模块 昨天提交的第一个功能是新的expressions模块 。 这使您可以使用任意String表达式定义用于排序的动态字段。 内置了对JavaScript解析的支持&#xff0c…

使用CUBA进行开发–是Spring的重大转变吗?

阅读另一个供内部公司使用的Web项目的要求时&#xff0c;您&#xff08;至少是我自己&#xff09;通常会看到一个很普通的集合&#xff1a;定义明确的数据存储结构&#xff08;或有时是现有的旧式DB&#xff09;&#xff0c;大量的数据输入形式&#xff0c;非常复杂的业务逻辑&…

java 伴随矩阵_C#计算矩阵的逆矩阵方法实例分析

本文实例讲述了C#计算矩阵的逆矩阵方法。分享给大家供大家参考。具体如下&#xff1a;1.代码思路1)对矩阵进行合法性检查&#xff1a;矩阵必须为方阵2)计算矩阵行列式的值(Determinant函数)3)只有满秩矩阵才有逆矩阵&#xff0c;因此如果行列式的值为0(在代码中以绝对值小于1E-…

apache camel_探索Apache Camel Core –文件组件

apache camel文件轮询器是解决常见IT问题的非常有用的机制。 Camel的内置file组件非常灵活&#xff0c;并且有许多选项可用于配置。 让我们在这里介绍一些常用用法。 轮询目录以输入文件 这是一条典型的骆驼Route用于每秒轮询一次目录以查找输入文件。 import org.slf4j.*; i…

java list 遍历 remove_JAVA中LISt遍历时如何remove元素?

import java。util。*;  public class object {  public static void main(String[] args) {  String str1 new String("abcde");  String str2 new String("abcde");  String str3 new String("abcde");  String str4 new Stri…

Java使用者的延期执行

在前面的博客文章&#xff08;“ 延迟执行Java的供应商 “&#xff09;&#xff0c;我引用礁HORSTMANN的陈述书中‘ 的Java SE8为真的很急关于lambda表达式’&#xff0c;‘所有的lambda表达式的点被推迟执行 。’ Horstmann在最后一年为Dobb博士的杂志写了一篇名为“ Java 8中…

java 代码造假_老板居然让我在Java项目中“造假”

1. 前言老板说&#xff0c;明天甲方要来看产品&#xff0c;你得造点数据&#xff0c;而且数据必须是“真”的&#xff0c;演示效果要好看一些&#xff0c;这样他才会买我们的产品&#xff0c;我好明年给你换个嫂子。一般开发接到这种过分要求都不会很乐意去做&#xff0c;这完全…

nginx php环境搭建_php+nginx环境配置

本篇文章的内容是PHP和nginx环境的配置&#xff0c;在这里分享给大家&#xff0c;也给有需要的朋友一个参考phpnginx环境配置1、首先需要准备的应用程序包。nginx&#xff1a;nginx/Windows-1.0.4php&#xff1a;php-5.2.16-nts-Win32-VC6-x86.zip (nginx下php是以FastCGI的方式…

javaone_旅行报告:JavaOne 2013 –重归荣耀

javaone我已经回来几天了&#xff0c;需要赶上过去几天一直搁置的所有事情。 对我来说&#xff0c;这是一年中最忙的时间。 JavaOne和OpenWorld在旧金山的整整一周。 一个非常简短的旅行报告。 年度ACED简报 你们中许多人都知道我是Oracle社区认可计划&#xff08;称为“ ACE计…

php如何禁用浏览器的缓存,php如何禁止浏览器使用缓存页面

【摘要】PHP即“超文本预处理器”&#xff0c;是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言&#xff0c;与C语言类似&#xff0c;是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。下面是php如何禁止浏览器使用缓存页面&#xff0c;让我…

使用Java EE和OIDC构建Java REST API

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕&#xff1f; 尝试使用Okta API进行托管身份验证&#xff0c;授权和多因素身份验证。 Java EE允许您使用JAX-RS和JPA快速轻松地构建Java REST API。 Java EE是保护伞标准规…

php 长微博程序,长微博生成工具PHP源码 根据文字生成长微博图片 - substr_count

&#xfeff;PHP substr_count() 函数定义和用法substr_count() 函数计算子串在字符串中出现的次数。语法substr_count(string,substring,start,length)...] rtrim($matches[3],\"/);//获取图片的id$parent_dir_num substr_count( $matches[3], ../);$relative_dirname …

php 加密类,php加密类

这篇文章的主要内容是介绍了关于php加密类 &#xff0c;有着一定的参考价值&#xff0c;现在分享给大家&#xff0c;有需要的朋友可以参考一下namespace app\index\controller;class Crypt{private $key "";public function __construct($key null){if (!is_null($…

通过JavaFX标注制作动画效果

在本文中&#xff0c;您将学习如何使用JavaFX的动画API创建标注。 您可以在https://www.youtube.com/watch?vXTHbB0LRdT4的 YouTube网站上查看这些标注的演示示例。 什么是标注&#xff1f; 我敢肯定&#xff0c;您已经看过广告或科幻电影&#xff0c;它们使用在图像顶部显示…

php 继承内核中的基类,继承类上的PHP new self()正在创建一个基类对象

参见英文答案 > New self vs. new static 3个我有一个充当基类的类.然后我有几个继承它的类.我想开始使用静态语法加载继承的类,但行为没有多大意义.直到现在我加载了这样的类,它完成了这项工作.$obj new foo();$something $obj->B…

使用trackBy启动流程

仍然沿用Corda Services的趋势&#xff0c;我还有其他一些技巧可帮助您的CorDapp顺利工作。 这次&#xff0c;我们将重点关注使用trackBy从服务内部启动流以及如果您不小心可能会引起的离散问题。 这应该是一个相对简短的职位&#xff0c;因为我可以依靠之前的职位&#xff1a…