- 浏览: 200531 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
carlosfu:
需要这么多资料。。
广州买房二三事 -
cutesunshineriver:
砺雪凝霜 写道看好喜欢思考的人,加油!前辈~谢谢鼓励!
2015年终盘点 -
砺雪凝霜:
看好喜欢思考的人,加油!前辈~
2015年终盘点 -
MM22:
能问下,为什么,在eclipse ACVTIVE之后,在浏览器 ...
osgi入门 -
icarus11:
我现在用的BPMsuite是11.1.1.7 但开发工具用的是 ...
Oracle BPM Suite和JDeveloper打补丁
具体可参考IBM的文章:http://www.ibm.com/developerworks/cn/rational/07/0320_alupului/。
谈一下遇到的问题,首先是从工程里导出API的html文档,本次导出涉及133个插件工程,内存占用量高达630M,全部导完花去10-20分钟。
导出设置时注意以下配置:
分配内存最大值设为1024M,编码方式设为utf-8。
导完后,需要划分Topic,将这些Topic链接到API参考文档里,便于分工协作。所有的TOC文件都必须在plugin.xml里注册。为了避免手工进行Topic划分和Topic下的package注册,使用以下程序自动生成相关TOC文件并完成在plugin.xml里的注册和API参考文档里的link。
谈一下遇到的问题,首先是从工程里导出API的html文档,本次导出涉及133个插件工程,内存占用量高达630M,全部导完花去10-20分钟。
导出设置时注意以下配置:
分配内存最大值设为1024M,编码方式设为utf-8。
导完后,需要划分Topic,将这些Topic链接到API参考文档里,便于分工协作。所有的TOC文件都必须在plugin.xml里注册。为了避免手工进行Topic划分和Topic下的package注册,使用以下程序自动生成相关TOC文件并完成在plugin.xml里的注册和API参考文档里的link。
package org.autumn.doc.user.generate; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import org.autumn.doc.user.Activator; /** * 1 - topics目录下生成TOC文件 <br/> * 2 - plugin.xml里注册TOC文件 <br/> * 3 - topics_Reference.xml里注册TOC文件 * * @author sunny * */ public class GeneratePluginToc { public static final String DOC_DIR = "doc"; public static final String TOPICS_DIR = "topics"; public static final String WS_DIR = "E:\\Autumn BPM\\ws4bpm"; public static final String TOPICS_FILE_EXTENSION = ".toc.xml"; public static final String PLUGIN_XML = "plugin.xml"; public static final String SUMMARY_HTML = "package-summary.html"; public static final String TOPICS_REFERENCE_XML = "topics_Reference.xml"; public static final String SEPRATOR = System.getProperty("file.separator"); public static final String DOT = "."; private static List<String> plugins = new ArrayList<String>(); static { plugins.add("org.autumn.action.core"); plugins.add("org.autumn.action.interceptor.navigator"); plugins.add("org.autumn.action.interceptor.spec"); plugins.add("org.autumn.action.layout"); plugins.add("org.autumn.action.model"); plugins.add("org.autumn.ado.core"); plugins.add("org.autumn.ado.spec"); plugins.add("org.autumn.bpm.behavior"); plugins.add("org.autumn.bpm.client"); plugins.add("org.autumn.bpm.commons"); plugins.add("org.autumn.bpm.core"); plugins.add("org.autumn.bpm.data"); plugins.add("org.autumn.bpm.engine"); plugins.add("org.autumn.bpm.event.register"); plugins.add("org.autumn.bpm.event.thrower"); plugins.add("org.autumn.bpm.event.trigger"); plugins.add("org.autumn.bpm.loadbalance"); plugins.add("org.autumn.bpm.resource.service"); plugins.add("org.autumn.bpm.runtime"); plugins.add("org.autumn.builder"); plugins.add("org.autumn.cluster"); plugins.add("org.autumn.common.constraint"); plugins.add("org.autumn.configuration.bpm"); plugins.add("org.autumn.configuration.scheduler"); plugins.add("org.autumn.core"); plugins.add("org.autumn.database"); plugins.add("org.autumn.entity"); plugins.add("org.autumn.evaluation"); plugins.add("org.autumn.expression.core"); plugins.add("org.autumn.expression.defs"); plugins.add("org.autumn.expression.expand"); plugins.add("org.autumn.expression.json.factory"); plugins.add("org.autumn.expression.json.render"); plugins.add("org.autumn.expression.sql.factory"); plugins.add("org.autumn.expression.sql.render"); plugins.add("org.autumn.form.service"); plugins.add("org.autumn.identity"); plugins.add("org.autumn.logicview.core"); plugins.add("org.autumn.logicview.expand"); plugins.add("org.autumn.logicview.model"); plugins.add("org.autumn.model.core"); plugins.add("org.autumn.model.data"); plugins.add("org.autumn.model.defs"); plugins.add("org.autumn.model.editdomain"); plugins.add("org.autumn.model.extension"); plugins.add("org.autumn.model.loader"); plugins.add("org.autumn.model.navigator.core"); plugins.add("org.autumn.operator"); plugins.add("org.autumn.scheduler.core"); plugins.add("org.autumn.scheduler.engine"); plugins.add("org.autumn.scheduler.model"); plugins.add("org.autumn.sdo"); plugins.add("org.autumn.type"); plugins.add("org.autumn.ui.decorator"); plugins.add("org.autumn.view.data"); plugins.add("org.autumn.view.feature"); plugins.add("org.autumn.viewspec.core"); plugins.add("org.autumn.viewspec.expand"); plugins.add("org.autumn.viewspec.model"); } private static void generateAll() { generateTocs(); regeisterPluginXML(); regeisterTopicsReferenceXML(); } private static void generateTocs() { File topicsDir = new File(getProjectPath() + SEPRATOR + TOPICS_DIR); for (File topic : topicsDir.listFiles()) { topic.delete(); } for (String plugin : plugins) { File toc = new File(topicsDir + SEPRATOR + plugin + TOPICS_FILE_EXTENSION); if (!toc.exists()) { try { toc.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } try { PrintWriter writer = new PrintWriter(toc); writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); writer.printf("<toc label=\"%s\">%n", plugin); String docPath = getProjectPath() + SEPRATOR + DOC_DIR; File pluginDocDir = new File(docPath + SEPRATOR + plugin.replaceAll("\\" + DOT, "/")); printTopicLine(writer, plugin, pluginDocDir); writer.println("</toc>"); writer.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } } private static void printTopicLine(PrintWriter writer, String plugin, File dir) { List<String> files = new ArrayList<String>(); for (File f : dir.listFiles()) { files.add(f.getName()); } for (File f : dir.listFiles()) { if (files.contains(SUMMARY_HTML)) { String path = dir.getPath().replace("\\", "/"); String uriLike = plugin.replace(DOT, "/"); String label = path.substring(path.indexOf(uriLike)); String href = DOC_DIR + "/" + label + "/" + SUMMARY_HTML; writer.printf("\t<topic href=\"%s\" label=\"%s\">%n", href, label.replaceAll("/", DOT)); writer.println("\t</topic>"); files.remove(SUMMARY_HTML); } if (f.isDirectory()) { printTopicLine(writer, plugin, f); } } } private static void regeisterTopicsReferenceXML() { File topicsReferenceXML = new File(getProjectPath() + SEPRATOR + TOPICS_REFERENCE_XML); try { PrintWriter writer = new PrintWriter(topicsReferenceXML); writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); writer.println("<?eclipse version=\"3.4\"?>"); writer.println("<toc label=\"API文档\">"); File topicsDir = new File(getProjectPath() + SEPRATOR + TOPICS_DIR); for (File file : topicsDir.listFiles()) { String plugin = file.getName().replace(TOPICS_FILE_EXTENSION, ""); String href = DOC_DIR + "/" + plugin.replace(DOT, "/") + "/" + SUMMARY_HTML; writer.printf("\t<topic href=\"%s\" label=\"%s\">%n", href, plugin); writer.printf("\t\t<link toc=\"%s\">%n", TOPICS_DIR + "/" + file.getName()); writer.println("\t\t</link>"); writer.println("\t</topic>"); } writer.println("</toc>"); writer.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } private static void regeisterPluginXML() { File pluginXML = new File(getProjectPath() + SEPRATOR + PLUGIN_XML); try { PrintWriter writer = new PrintWriter(pluginXML); writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); writer.println("<?eclipse version=\"3.4\"?>"); writer.println("<plugin>"); writer.println("\t<extension point=\"org.eclipse.help.toc\">"); writer.println("\t\t<toc file=\"toc.xml\" primary=\"true\">"); writer.println("\t\t</toc>"); writer.println("\t\t<index path=\"index\">"); writer.println("\t\t</index>"); writer.println("\t</extension>"); writer.println("\t<extension point=\"org.eclipse.help.toc\">"); writer.println("\t\t<toc file=\"topics_Guide.xml\">"); writer.println("\t\t</toc>"); writer.println("\t</extension>"); writer.println("\t<extension point=\"org.eclipse.help.toc\">"); writer.printf("\t\t<toc file=\"%s\">%n", TOPICS_REFERENCE_XML); writer.println("\t\t</toc>"); File topicsDir = new File(getProjectPath() + SEPRATOR + TOPICS_DIR); for (File file : topicsDir.listFiles()) { writer.printf("\t\t<toc file=\"%s\">%n", TOPICS_DIR + "/" + file.getName()); writer.println("\t\t</toc>"); } writer.println("\t</extension>"); writer.println("</plugin>"); writer.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } private static String getProjectPath() { return WS_DIR + SEPRATOR + Activator.PLUGIN_ID; } public static void main(String[] args) { GeneratePluginToc.generateAll(); } }
发表评论
-
利用JavaDoc制作windows的CHM文档
2012-03-12 17:10 1140使用了开源的一个ruby脚本来利用JavaDoc制作windo ... -
使用 Eclipse 插件开发环境构建模板
2012-02-09 09:42 1443关于怎么用Eclipse 插件开发环境构建模板,可以参考IBM ... -
构造GMF Diagram右键菜单
2011-11-02 15:22 1511在BPM Diagram中实现Boundary Event的中 ... -
STP和BOS的特性总结
2011-10-28 13:48 1002一、 STP 1) 图形阴影 2) 图形上定制的Handle以 ... -
EMF校验--Live模式
2011-10-07 16:10 20421、在之前library的model、edit、editor基 ... -
GMF生成图形编辑器的一些注意事项
2011-09-27 10:47 966一、Gmfgraph文件的配置事项 # Diagram La ... -
EMF学习--CompoundCommand
2011-09-26 09:24 11951、新建插件工程graph,建立ecore文件。 2、由e ... -
EMF学习--属性可以选择的对象集的过滤
2011-09-25 16:17 10401、先在新建的library插件工程中建立ecore模型。 ... -
GMF学习笔记
2011-09-23 18:06 14341.带阴影 重写Figure的paintFigure方法,先画 ... -
用Draw2d画一个静止的时钟
2011-08-10 12:59 2475package org.autumn.draw2d.examp ... -
Eclipse RCP入门(创建一个日期选择器)
2011-06-30 10:42 3518直接上代码。 package org.autumn.rcp. ...
相关推荐
中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...
中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...
中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...
2. **帮助文档**:Eclipse的在线帮助系统,包括各种教程、API参考和问题解决方案,都被汉化以适应中文用户的需求。 3. **插件支持**:许多Eclipse插件也可能被汉化,以确保整个开发环境的一致性。 安装Eclipse汉化...
中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...
### 获取Android的Java源代码并在Eclipse中进行关联 #### 一、准备工作 为了能够顺利地获取Android的Java源代码并在Eclipse中进行关联,我们需要完成以下准备工作: 1. **下载并安装Android SDK**: - 访问[官方...
本资源包包含BIRT的中文和英文文档,API参考以及各种使用小技巧报表实例,非常适合想要深入学习BIRT的人士。 **中文与英文文档**: - **中文文档**:对于初学者来说,中文文档能够帮助更好地理解BIRT的各个方面,...
中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...
在Java中,可以使用Swing或JavaFX来构建图形用户界面,SQLite或JDBC连接的其他数据库系统用于存储词汇。 3. **词汇库管理** 词典数据库是电子词典的核心。开发者可以使用XML、JSON或自定义格式来组织词汇数据,...
中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...
中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...
开发工具在软件开发生命周期中扮演着至关重要的角色,它们旨在简化和加速从概念设计到产品部署的各个环节。以下是开发工具的主要作用: 代码编写与编辑: 提供集成开发环境(IDE),如Visual Studio、Eclipse、...
开发工具在软件开发生命周期中扮演着至关重要的角色,它们旨在简化和加速从概念设计到产品部署的各个环节。以下是开发工具的主要作用: 代码编写与编辑: 提供集成开发环境(IDE),如Visual Studio、Eclipse、...
开发工具在软件开发生命周期中扮演着至关重要的角色,它们旨在简化和加速从概念设计到产品部署的各个环节。以下是开发工具的主要作用: 代码编写与编辑: 提供集成开发环境(IDE),如Visual Studio、Eclipse、...
在WPS二次开发中,API提供了创建、修改、保存文档以及控制WPS应用程序的能力。 2. **ET(Kingsoft Spreadsheets)**: ET是WPS Office中的电子表格组件,提供了类似于Microsoft Excel的功能。通过ET的API,开发者...
- **doc**:包含Extjs的API文档,对于开发者来说是非常重要的参考资料,通过API文档可以了解每个组件、方法和属性的具体用法。 - **examples**:提供了大量的官方演示示例,这些示例覆盖了Extjs的主要功能,是学习和...
BIRT(Business Intelligence and Reporting Tools)是Eclipse基金会下的一个开源报表系统,它提供了一整套工具,使得开发者能够利用API动态地创建和定制复杂的报表,包括交叉表(Cross Tab)。交叉表是一种数据汇总...
开发工具在软件开发生命周期中扮演着至关重要的角色,它们旨在简化和加速从概念设计到产品部署的各个环节。以下是开发工具的主要作用: 代码编写与编辑: 提供集成开发环境(IDE),如Visual Studio、Eclipse、...
根据提供的文档信息,我们可以总结出以下关键知识点,主要聚焦于X3399 Android平台的开发环境搭建、工具使用、源码管理与编译、以及最终的映像文件烧录等几个方面。 ### 1. 开发平台的搭建 #### 1.1 使用U盘安装...
在IT行业中,生成高质量的文档是至关重要的,无论是开发者为了理解代码,还是团队成员之间进行协作,或者是对外提供API的说明。Javadoc就是Java编程语言中用于生成文档的一个强大工具,它能将源代码中的注释转换成...