glassfish 4配置

这篇文章是关于自己发布GlassFish 4.0快照的,其中包括一些黑客。 我找到了GlassFish FullBuild的官方说明,然后决定自己构建服务器。 有时,您可能不想等待团队升级GlassFish构建文件。 在本条目中,我将Artifactory称为私有Maven存储库,当然,您也可以使用其他东西。 从Subversion自己签出GlassFish 4.0的源代码:

svn checkout https://svn.java.net/svn/glassfish~svn/trunk/main glassfish-main

您需要修改工作站的Maven设置文件以排除Eclipse工件。这是我配置的settings.xml的示例。

<settings xmlns='http://maven.apache.org/SETTINGS/1.0.0'xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'xsi:schemaLocation='http://maven.apache.org/SETTINGS/1.0.0http://maven.apache.org/xsd/settings-1.0.0.xsd'><!--Maven http://maven.apache.org/settings.html --><localRepository/><interactiveMode/><usePluginRegistry/><offline/><pluginGroups/><servers><server><id>ACME-ARTIFACTORY-PRIVATE</id><username>administrator</username><password>password</password></server></servers><mirrors><mirror><id>maven-central</id><url>http://repo1.maven.org/maven2/</url><mirrorOf>central,!eclipselink.repository</mirrorOf></mirror></mirrors><proxies/><profiles/><activeProfiles/>
</settings>

在编译整个GlassFish代码之前,我们需要破解POM文件,以便它们将工件安装到我们的专用Artifactory服务器中,而不是Maven Central中。 将以下节添加到分发中的POM文件中:

<distributionManagement><repository><id>ACME-ARTIFACTORY-PRIVATE</id><name>acme-releases</name><url>http://peabody.internal.acme.com/artifactory/ACME-ARTIFACTORY-PRIVATE</url></repository><snapshotRepository><id>ACME-ARTIFACTORY-PRIVATE</id><name>acme-snapshots</name><url>http://peabody.internal.acme.com/artifactory/ACME-ARTIFACTORY-PRIVATE</url></snapshotRepository></distributionManagement>

在上面的节中,将ACME的定义编辑到您私有的Artifactory服务器,然后将其复制以下POM文件:

  • main/pom.xml
  • main/appserver/javaee-api/pom.xml
  • main/appserver/pom.xml
  • main/nuclues/pom.xml

这是一个讨厌的黑客,因为我不喜欢您无法设置从配置更改部署服务器和凭据。 其他源代码允许通过Maven配置文件甚至属性文件配置部署服务器。 确保您的Maven设置适用于Artifactory部署,并且我们还设置了Maven构建过程。 设置环境变量MAVEN_OPTS,以使Maven有足够的内存,并且永久生成足够高,以避免编译期间出现内存不足异常。

MAVEN_OPTS=-Xmx1024m -Xms256m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled

如果您有16GB RAM工作站,为什么不将其最大化以编译整个GlassFish? 垃圾收集算法更改为并发标记和清除算法,并且我们还将启用的类卸载设置为启用。 您准备好进行编译,输入以下命令:

cd glassfish-main
svn update
mvn clean
mvn install -DskipTests=true

在体面的Intel Core i5 / i7机器(2012)上,让自己约20分钟成为热饮料和小吃。 休息一下。 注意,我们在这里避免运行单元测试,而跳过了测试,因为我们只想快速地在仓库中发布工作版本,但这并不是说测试很糟糕。 成功编译所有模块之后,现在您可以部署到私有Maven存储库。 如果遵循先前的说明(关于将节复制到单个POM文件),则可以从根目录执行此命令。

cd glassfish-main
mvn deploy -DskipTests=true

将工件部署到Artifactory之后,检查快照4.0版本的存储库,它们都应该存在。 现在下降到Java EE项目文件夹。 破解POM文件glassfish-main/appserver/javaee-api/javax.javaee-api/pom.xml 。 它在build部分中缺少maven源插件,因此,默认情况下,它不会生成源JAR,这对于查看新的JavaEE 7 API很有用! 查找XPath project/build/plugins ,并将以下节附加到该POM。

<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><executions><execution><id>attach-sources</id><phase>package</phase><goals><goal>jar-no-fork</goal></goals></execution></executions></plugin>

执行以下命令行,以部署Java EE api工件

cd glassfish-main/appserver/javaee
mvn deploy -DskipTests=true

由于某些原因,主要执行不会自动安装javax.javaee-api工件。 执行此行将为三个基础模块生成JAR和SOURCES JAR: javax.javaee-apijavax.javaee-web-apijavax.javaee-endorsed-api 。 转至Artifactory,查看工件已全部部署。 然后,您可以像这样编写Gradle构建文件:

repositories {maven {credentials {username 'administrator'password 'passowrd'}url 'http://peabody.internal.acme.com/artifactory/ACME-ARTIFACTORY-PRIVATE'}maven {url 'https://maven.java.net/content/groups/promoted'}maven {url 'http://repository.jboss.org/nexus/content/groups/public'}
}dependencies {providedCompile 'org.glassfish.main.extras:glassfish-embedded-all:4.0-SNAPSHOT'providedCompile 'javax:javaee-api:7.0-bpeter-private'providedCompile 'javax:javaee-web-api:7.0-bpeter-private'compile     'org.glassfish.main.extras:glassfish-embedded-all:4.0-SNAPSHOT'compile     'javax:javaee-api:7.0-bpeter-private'testCompile 'junit:junit:4.10'
}

特别是,请注意,构建版本被注释为7.0-bpeter-private 。 我尚未解决的难题的最后一部分是如何配置build.id Maven属性,以便可以自定义内部版本号。 仍然是一个谜。 如果您碰巧知道答案,请给我响铃。 干杯!

参考:在Peter Pilgrim的博客博客中,我们的JCG合作伙伴 Peter Pilgrim 自己构建了GlassFish 4.0快照 。

翻译自: https://www.javacodegeeks.com/2013/03/build-glassfish-4-0-snapshots-yourself.html

glassfish 4配置

glassfish 4配置_自己构建GlassFish 4.0快照相关推荐

  1. ensp中小型企业网配置_如何构建1000人规模的网络,详细配置?

    采用华为的ensp模拟器,接入交换机采用双上联的方式接入核心交换机,两台核心交换机之间两条链路捆绑连接,提高可靠性.路由器负责internet接入. 涉及的网络协议, STP:全局开启STP协议,防止 ...

  2. 由于开发者通过接口修改了菜单配置_开发者说:Seata 0.7.0 版本,你 get 'Metrics' 技能了吗?...

    从用户的视角来感受一个开源项目的成长,是我们推出「开发者说」专栏的初衷,即在开发者进行开源项目选型时,提供更为立体的项目信息.专栏所有内容均来自作者原创/投稿,本文是「开发者说」的第9篇,作者郑扬勇, ...

  3. 自己构建GlassFish 4.0快照

    这篇文章是关于自己发布GlassFish 4.0快照的,其中包括一些黑客. 我找到了GlassFish FullBuild的官方说明,然后决定自己构建服务器. 有时,您可能不想等待团队升级GlassF ...

  4. Glassfish 安装配置

    一.第一种 一.安装配置glassfish之前需要先安装配置好JDK和Ant.下面先介绍JDK和Ant的下载.安装和配置     1.JDK     下载地址:http://Java.sun.com/ ...

  5. 基于Linux GlassFish v3 配置取代tomcat

    基于Linux GlassFish v3 配置: download:http://download.java.net/glassfish/3.0.1/release/glassfish-3.0.1.z ...

  6. finalshell文件列表不显示_Jira面板配置_待办事项不显示问题列表

    最近,使用jira进行项目管理,出现一些问题,对于其中一些配置,做下记录,后续方便查看,也给需要的人一个参考,传送门: jira使用文档_Java_pang787559613的博客-CSDN博客​bl ...

  7. 微博广告分布式配置中心的构建与实践

    来自:DBAplus社群 讲师介绍 邸海峰 新浪微博 广告业务部高级运维工程师 主要负责微博广告业务部自动化运维平台设计与开发.微服务体系建设.资源成本优化等工作: 针对微博业务性质,春晚.明星热点事 ...

  8. 【Android 安装包优化】使用 lib7zr.a 静态库处理压缩文件 ( 交叉编译 lib7zr.a 静态库 | 安卓工程导入静态库 | 配置 CMakeLists.txt 构建脚本 )

    文章目录 一.修改 7zr 交叉编译脚本 Android.mk 二.完整的 7zr 交叉编译脚本 Android.mk 三.交叉编译 lib7zr.a 静态库 四.Android Studio 导入 ...

  9. 【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 拷贝 lib7zr.so 动态库头文件到 Android 工程中 | 配置 CMakeLists.txt 构建脚本 )

    文章目录 一.拷贝 p7zip 源码中的头文件到 Android Studio 项目中 二.配置 CMakeLists.txt 构建脚本 1.导入动态库 2.导入头文件 三.完整 CMakeLists ...

最新文章

  1. 网上的一篇spring security详解教程,觉得不错,转过来了
  2. jquery学习手记(10)事件简介
  3. com 组件调用不起来_一文读懂Eureka,Feign,Ribbon,Hystrix,Zuul核心组件间的关系...
  4. java虚拟机类加载机制_《深入理解java虚拟机》学习笔记一/类加载机制
  5. App设计灵感之十二组精美的家具产品电商App设计案例
  6. 将服务器get到的响应打印,得到HttpResponse的响应主体
  7. 精通ASP.NET MVC ——属性路由
  8. SET CONSTRAINTS DEFERRED | IMMEDIATE
  9. 计算机ensp项目无法运行,eNSP常见问题及解决办法
  10. 芦溪中学2021高考成绩查询,2021萍乡市地区高考成绩排名查询,萍乡市高考各高中成绩喜报榜单...
  11. 汇编学习--7.10--程序编写
  12. 第一篇:一个win32控制台程序
  13. Android入门项目(校园软件)
  14. 七年布局Cloud OS,微软将再创云产业新高
  15. pandas读取xlsx文件
  16. SOME/IP与DDS对比及DDS测试策略和方案探讨
  17. 胡侃学习(理论)计算机-From 南大小百合
  18. [CLI应用学习]实践使用GitHub CLI
  19. 什么手势使用电子计算机比较快,手势功能
  20. 走出软件作坊 第三十章 蛋白质女孩

热门文章

  1. JavaFX鼠标移动事件
  2. 今天就唠叨唠叨吧……
  3. 变量的分类(按数据类型)
  4. java getimage_Java ImageView.getImage方法代码示例
  5. matlab盒子分形维数_分形:盒子维数
  6. html表格转换为csv,python实现将html表格转换成CSV文件的方法
  7. matlab 定义一个有自变量的方程_常微分方程:(第四章) 高阶微分方程
  8. 已知两点坐标如何快速增加其他坐标_「测绘精选」坐标转换概述
  9. 为什么jdk的CLASSPATH环境变量需要设置rt.jar 和 tools.jar
  10. java掌握_掌握Java 11的Constantdynamic