Retrotranslator使用简介(JDK1.5->1.4)
Retrotranslator是一个可以把JDK1.5(6)下编译的类(或包)转译成JDK1.4下可以识别的类(包)的工具。
为现在还用JDK1.4呢?我想无非是现在的大部分Java Web应用是一两年(甚至两三年前)搭的,生命周期还得有个几年吧。另外,是不是已经买了weblogic8(仅支持JDK1.4及以下)的企业为省钱,不愿上weblogic9呢?不过刚才查了下报价:Weblogic8.1 21W,而Weblogic 9 才7w?不晓得新东西怎么会便宜呢?
既然必须用JDK1.4,那些JDK1.5下发布的好的开源包岂不是不能用了?呵呵,不会的,一切因为有了Retrotranslator:)
闲言少表,说说咋使Retrotranslator
(以下摘自http://retrotranslator.sourceforge.net/#commandline,中文自个翻的,献丑了)
How to use Retrotranslator from the command line?
如何在命令行下使用Retrotranslator
1.Download and unzip the binary distribution file Retrotranslator-n.n.n-bin.zip, where n.n.n is the latest Retrotranslator release number.
下载并解压缩二进制发布的文件:Retrotranslator-n.n.n-bin.zip,n.n.n 是指最新发布的版本号
2.Compile your classes with Java 5.0 or Java 6 and put them into some directory, e.g. myclasses.
把你在JDK5或6下编译的类放在同一目录下,例如:myclasses
3.Go to the unzipped directory and execute:
java -jar retrotranslator-transformer-n.n.n.jar -srcdir myclasses
Use appropriate options to verify the result and for troubleshooting, e.g. -verify, -classpath, -advanced, and -smart.
到解压的目录,执行
java -jar retrotranslator-transformer-n.n.n.jar -srcdir myclasses
使用合适的选项来保证执行正确或查找解决问题的方法
4.Put retrotranslator-runtime-n.n.n.jar and backport-util-concurrent-n.n.jar into the classpath of your application if you use the Java 5.0 API.
将解压出来的retrotranslator-runtime-n.n.n.jar and backport-util-concurrent-n.n.jar两个包放在你工程的类路径中
5.Run or debug the application as usual on Java 1.4.
运行或调试应用如同在JDK1.4环境下吧。
The command line syntax:
java -jar retrotranslator-transformer-n.n.n.jar <options>
or
java -cp retrotranslator-transformer-n.n.n.jar net.sf.retrotranslator.transformer.Retrotranslator <options>
命令行语法部分不翻了,下面举个转包的实例:
- java -jar ./Retrotranslator-1.2.7-bin/retrotranslator-transformer-1.2.7.jar -advanced -srcjar ./srcJar/jodd.jar -destjar ./destJar/jodd-jdk1.4-305.jar
1.先找一个目录做为工作目录,把retrotranslator-transformer-1.2.7.jar放在 ./Retrotranslator-1.2.7-bin下
-jar ./Retrotranslator-1.2.7-bin/retrotranslator-transformer-1.2.7.jar //--指明工具包位置
2.把待转译的包jodd.jar放在 ./srcJar目录下;
-advanced //in order to avoid compatibility issues当需要避免兼容性问题时需加此参数
-srcjar ./srcJar/jodd.jar //--指明待转译的包位置
3.把上面的命令复制到当前目录下的一个文本文档里,F2成cmd文件双击运行(或在命令行中切换至当前目录再运行上面的命令);
4.运行完毕,在./destJar下已经生成了你想要的jodd-jdk1.4-305.jar;
-destjar ./destJar/jodd-jdk1.4-305.jar //--指明转译生成的包位置
5.把这个热气腾腾刚出锅的jodd-jdk1.4-305.jar和解压缩得到的backport-util-concurrent-3.1.jar、retrotranslator-runtime-1.2.7.jar都放在Web应用中的lib目录下;
6.OK,这样我们就能在JDK1.4下使用JODD了。
JODD是什么,下一章再讲吧:)
Retrotranslator使用简介(JDK1.5->1.4)的更多相关文章
- JDK1.8之ConcurrentHashMap
目录 简介 JDK1.7 JDK1.8 重要属性 Node类 ForwardingNode类 原子操作和Unsafe类 重要方法 初始化表操作(initTable) 插入键值对(put和putVal) ...
- java集合系列——Map之HashMap介绍(八)
1.HashMap的简介 (JDK1.7.0_79版本) HashMap是基于哈希表的Map实现的的,一个Key对应一个Value,允许使用null键和null值,不保证映射的顺序,特别是它不保证该顺 ...
- java集合系列——List集合之Vector介绍(四)
1. Vector的简介 JDK1.7.0_79版本 Vector 类可以实现可增长的对象数组.与数组一样,它包含可以使用整数索引进行访问的组件.但是,Vector 的大小可以根据需要增大或缩小,以适 ...
- JAVA:ssm框架搭建
文章来源:http://www.cnblogs.com/hello-tl/p/8328071.html 环境简介 : jdk1.7.0_25/jdk1.8.0_31 tomcat-7.0.81 m ...
- JAVA NIO学习笔记1 - 架构简介
最近项目中遇到不少NIO相关知识,之前对这块接触得较少,算是我的一个盲区,打算花点时间学习,简单做一点个人学习总结. 简介 NIO(New IO)是JDK1.4以后推出的全新IO API,相比传统IO ...
- Spring 框架的架包分析、功能作用、优点,及jar架包简介
Spring 框架的架包详解 Spring的作用 Spring的优势 由于刚搭建完一个MVC框架,决定分享一下我搭建过程中学习到的一些东西.我觉得不管你是个初级程序员还是高级程序员抑或 ...
- Nutch搜索引擎(第1期)_ Nutch简介及安装
1.Nutch简介 Nutch是一个由Java实现的,开放源代码(open-source)的web搜索引擎.主要用于收集网页数据,然后对其进行分析,建立索引,以提供相应的接口来对其网页数据进行查询的一 ...
- 【DWR系列01】-DWR简介及入门例子
.literal { background-color: #f2f2f2; border: 1px solid #cccccc; padding: 1px 3px 0; white-space: no ...
- 1.Struts2简介和Struts2开发环境搭建
一.Struts2简介: 1.什么是Struts2? 著名的SSH三大框架分别为:表现层(Struts).业务逻辑层(Spring),持久化层(Hibernate). Struts2是在WebWork ...
随机推荐
- LINUX之启动流程
(上图片转自一位高手所做) 启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关 ...
- 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)
洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...
- Docker 镜像的常用操作
镜像作为 Docker 三大核心概念中,最重要的一个关键词,它有很多操作,是您想学习容器技术不得不掌握的.本文将带您一步一步,图文并重,上手操作来学习它. 目录 一 Docker 下载镜像 1.1 下 ...
- 分布式系统中唯一 ID 的生成方法
在分布式系统存在多个 Shard 的场景中, 同时在各个 Shard 插入数据时, 怎么给这些数据生成全局的 unique ID? 在单机系统中 (例如一个 MySQL 实例), unique ID ...
- k3 cloud注册插件的时候提示,请选择一个有效的插件程序集
插件类的访问类型需要是public类型的,由于你的插件类没有标记为public类型,所以注册的时候并没有发现有插件,就是下面的单据体没有加载出数据.标记public之后,下面会有你的插件,然后选择对应 ...
- quartz的学习和简单使用
以前在框架中使用过,很多都是纯粹的复制粘贴,了解过用法知道如何配置,但时间久了就没什么印象了,现在重新捡起来,再次进行学习. quartz相关的介绍都已经很多了,我就不重复啰嗦,简单说一下个人的认识和 ...
- linux NFS 实例
为了证明是 Allentunsgroup 组起的作用而非用户 [root@NFS_Client ~]# useradd scott1 [root@NFS_Client ~]# passwd scott ...
- Linux之文件内容查阅
1. 直接查看文件内容 (1)cat命令,由第一行开始显示文件内容 -b,列出行号,仅显示出非空白行,空白行不标行号 -n,列出行号,空白行也会标行号 (2)tac命令,由最后一行到第一行反向在屏幕上 ...
- qthread线程
一般调用quit()函数之后可以紧接着调用wait()函数确保线程退出.sleep()等让线程休眠的函数不需要调用,因为Qt中线程是事件驱动机制.但是如果是继承的QTHread类,在run()函数中使 ...
- GUI学习之二十九—QFileDialog学习总结
今天学习的是文件对话框——QFileDialog 一.描述 QFileDialog提供了一个对话框,允许用户选择文件或者目录,也允许用户遍历文件系统,用以选择一个或多个文件或者目录. QFileDia ...