如何编译Glassfish v3 Open Source
2013-01-31 22:44
387 查看
由于工作原因,笔者需要对Glassfish v3中部署的应用进行监控。在编译Open Source版本的Glassfish过程中,遇到了不少问题;在搜集了一些资料后终于成功编译,于是下面就是具体的编译过程:
具体可见
FullBuildInstructions
maven 2.2.1(据Glassfish的wiki,Glassfish 3.x只能使用这个版本的maven编译)
JDK 1.6 Update Release 4或以上(目前不支持JDK1.7,未来会支持
这里使用SVN下载Glassfish的源码。使用命令行
具体可见
FullBuildInstructions
编译中使用的工具:
apache-subversion 1.7.7maven 2.2.1(据Glassfish的wiki,Glassfish 3.x只能使用这个版本的maven编译)
JDK 1.6 Update Release 4或以上(目前不支持JDK1.7,未来会支持
具体编译过程:
下载源代码这里使用SVN下载Glassfish的源码。使用命令行
svn checkout https://svn.java.net/svn/glassfish~svn/tags/3.1-no-delete[/code]
笔者曾尝试下载较新版本的Glassfish v3.1.2的源码,但在编译过程中maven总会出现问题,无奈之下选择了较旧的3.1版本。
配置maven
在编译之前,需要简单配置一下maven。首先需要增加maven参数到环境变量MAVEN_OPTS = -Xmx1024M -XX:MaxPermSize=512m
修改maven的配置文件setting.xml,文件位置为maven目录的conf文件夹下,增加mirrors节点<mirror> <id>maven-central</id> <url>http://repo1.maven.org/maven2/</url> <mirrorOf>*,!eclipselink.repository,!netbeans.repository</mirrorOf> </mirror>
以及profiles节点<profile> <id>gf-repo</id> <repositories> <repository> <id>eclipselink.repository</id> <name>EclipseLink Repo</name> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> <url>http://download.eclipse.org/rt/eclipselink/maven.repo/</url> <layout>default</layout> </repository> <repository> <id>netbeans.repository</id> <name>Maven Repo containing NetBeans artifacts</name> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> <url>http://dev.nightlabs.org/maven-repository/repo/</url> <layout>default</layout> </repository> </repositories> </profile>
编译
编译过程较简单,使用命令行mvn -Pgf-repo install
然后等上一段时间。。。
笔者在编译Glassfish v3.1.1源代码时,会出现unit test failure导致编译失败的情况。可以添加参数-DskipTests=true来跳过单元测试使编译通过。
运行Glassfish v3
编译成功以后会在源文件目录\distributions\glassfish\target\目录下面生成一个glassfish.zip文件。解压缩以后,cd到glassfish3\bin\,运行命令行asadmin start-domain
即可启动Glassfish。
相关文章推荐
- 如何编译PHP源代码(介绍Zend Encode的安装方法)
- 如何在VC代码里添加TODO编译警告
- CCSv7使用指南连载7:如何编译生成.lib静态库
- 如何编译lex文件和yacc文件
- QT5.3.1编译出错,如何解决?cannot find -lGL 且libGL库已经安装。
- 如何在QT中编译数据库驱动
- 如何将spark源代码导入到idea 14的工程中?sbt编译老是通不过啊
- 如何为嵌入式开发建立交叉编译环境
- 系统编译:如何给Make命令来传递参数
- 如何在编译时改变App的图标
- linux下如何编译C++文件
- linux 如何编译 静态库,动态库
- 如何快速编译系统(用鼠标操作)
- 如何为嵌入式开发建立交叉编译环境
- 如何编译lzma库
- 如何用C#动态编译应用程序来执行自定义代码
- 理解性能的奥秘——应用程序中慢,SSMS中快(2)——SQL Server如何编译存储过程
- Mac 自带PHP 如何正常连接 PGSql ( 及编译 pgsql.so )
- 如何编译ffmpeg
- Android apk如何加固防止被破解(防止逆向编译)