一、编译本地组件(Linux 环境下):
./configure --prefix=/usr/local/resin --with-java-home=/usr/local/jdk1.8
make && make install
若为非安装版jdk,则可以先执行以下代码:
export JAVA_HOME=/usr/local/jdk1.8.0
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
执行完上述代码之后,会在resin目录下生成一个子目录libexec64,libexec64中生成了一个libresin_os.so文件。
二、修改resin的java源代码:
根据你自己的需求,对 resin-4.0.65-src/modules目录下的对应代码进行修改后,需要重新使用ant进行编译。
这需要修改resin-4.0.65-src目录下的build.xml和build-common.xml代码:
(1)可以考虑删除其中的<import file="build-maven.xml"/>这一行代码;
(2)在文件build-common.xml中找到<project basedir="." xmlns:artifact="antlib:org.apache.maven.artifact.ant">,此位置之后添加自定义所需第三方jar包位置,
如:
<path id="libs_classpath">
<fileset dir="/usr/src/libs4compile/">
<include name="*.jar"/>
</fileset>
</path>
(3)接下来在代码
<javac srcdir="${module.src}" destdir="${module.build}"
fork="true"
executable="${javac}"
verbose="${javac.verbose}"
debug="${javac.debug}" optimize="${javac.optimize}"
deprecation="${javac.deprecation}" nowarn="${javac.nowarn}"
source="${javac.source}"
target="${javac.target}"
excludes="**/.svn/**"
memoryMaximumSize="${javac.memoryMaximumSize}" includeantruntime="on" >
之后增加代码:<classpath refid="libs_classpath"/>
在代码
<javac srcdir="${artifact.src}" destdir="${artifact.build}"
fork="true"
verbose="${javac.verbose}"
debug="${javac.debug}" optimize="${javac.optimize}"
deprecation="${javac.deprecation}" nowarn="${javac.nowarn}"
source="${javac.source}"
target="${javac.target}"
excludes="**/.svn/**"
memoryMaximumSize="${javac.memoryMaximumSize}">
之后,同样增加一行代码:<classpath refid="libs_classpath"/>
保存修改过的xml文件。
(4)配置好ant相关系统变量路径后,在resin-4.0.65-src目录下执行命令:ant,即可重新编译修改后的resin相关java源代码。
至此,resin重新编译完成。
tips:/usr/src/libs4compile/ 目录中所需的jar包有:eclipselink-2.7.9.jar、javax.validation-1.0.0.GA.jar、junit-4.13.jar
附resin源代码: