- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java程序调用javac编译.java文件生成.class文件
public class Test{
public void compile(String path) throws IOException {??? Runtime rt = Runtime.getRuntime();??? String command = javac ;??? rt.exec(command + path);??? rt.gc();}
?
} 初学Java时教科书告诉我们,若要运行Java程序,必需为其设置环境变量。有时候为了实现某种功能(例如动态加载Class)我们需要在程序中来实现这个功能。我们经常使用的Eclipse就是很好的例子,它的所有插件的.jar文件都是放在plugin目录下的,如何加载这些包并使用其中的类成了一个棘手的问题。(关于Eclipse的类加载机制,大家可以参考《Contributing to Eclipse》p54)下面我们就来看看,在程序中如何实现这个功能。1、建立一个工程,并为其增加一个 Interface,命名为ActionInterface.java。该接口为使用者公开了一个方法,如下:程序代码package org.junesky.classPathTest;public interface ActionInterface {??? public String action();}编译后,将该工程打包为.jar文件。打包方法:在包的顶级目录(也就是例子中的org所在的目录)建立一个名为MANIFEST.MF的文件,键入:Manifest-Version: 1.0保存。在ms-doc窗口中键如命令:jar cvfm classLoader.jar MANIFEST.MF org/其中classLoader.jar是打包后的文件名,org/是path。2、建立一个新工程,将classLoader.jar导入,新建class文件MyAction并实现ActionInterface。如下:程序代码package org.junesky. MyAction;import org.junesky.classPathTest. ActionInterface;public class MyAction implements ActionInterface {??? public String action() {??????? // TODO Auto-generated method stub??????? return ------------------ok;??? }}编译后打包为classTest.jar。3、新建一工程,将classLoader.jar和classTest.jar导入,新建class文件MyClassLoader.java并继承URLClassLoader。如下:程序代码package org.junesky.classPathTest;import?? java.net.URL;import?? java.net.URLClassLoader;import org.junesky.classPathTest. ActionInterface;public class MyClassLoader extends URLClassLoader {??? public MyClassLoader (URL url) {??????? super(new URL[] { url });??? }??? public static Object test(String str , String cls) {??????? try {??????????? URL url = new URL(str);???????????MyClassLoader t = new MyClassLoader (url);Class c = t.findClass(cls);ActionInterface action = (ActionInterface)c.newInstance();return action.action();??????? } catch (Exception ex) {??????????? ex.printStackTrace();??????? }??????? return ;??? }??? public static void main(String[] args) {??????? try {????????????????????? S
您可能关注的文档
- JavaString类型转换.doc
- javatomcatstruts2配置.doc
- javaweb项目中常用的jar包详解.doc
- Java中23种设计模式.docx
- JAVA中assert的使用.doc
- Java中Date类型的操作.docx
- java中GridBagLayout布局管理器的详细讲解.doc
- java中QueryRunner类实现增删改查详解.doc
- java中setmaplisttablevectorarray的比较总结.doc
- java中Staticvoid的含义.docx
- 书面表达之建议信(讲义)-中考英语一轮复习(含答案).pdf
- 中考历史复习小众题型类:填空题、改错题、判断题(70题).pdf
- 2024年吉林省县乡教师选调考试《教育学》真题汇编带解析必背【基础题】.pdf
- 2025年中考语文备考之《朝花夕拾》名著导读及考题.pdf
- 小说标题的含义和作用(模拟突破)-2025年中考语文考点突破之小说阅读(解析版).pdf
- 阅读理解之应用文(练习)-中考英语一轮复习(含答案).pdf
- 小说情节作用(模拟突破)-2025年中考语文考点突破之小说阅读(原卷版).pdf
- 小说段落作用(模拟突破)-2025年中考语文考点突破之小说阅读(解析版).pdf
- 小说段落作用(试题专练)-2025年中考语文考点突破之小说阅读(解析版).pdf
- 2025年上海市16区初三语文一模试题汇编之现代文阅读二(记叙文)学生版.pdf
最近下载
- 2024年组织生活会个人发言提纲四篇.docx VIP
- 工业互联网工程技术人员考核试题题库及答案.pdf VIP
- 财务分析报告(通用12篇).pdf VIP
- 2024年化工企业安全管理人员试题试题库真题A4版打印.docx
- 护士长年终述职报告PPT(含完整内容)14.pptx
- 安阳瑞美达清洁能源有限公司陶瓷园区清洁工业燃气集中制气项目环境影响报告书(送审版)全本公示.pdf
- 血液透析医院感染培训(课堂PPT)【54页】.pptx
- 夏普WG-S20电子记事本使用说明书翻译.pdf
- 六年级语文下册《 北京的春节》课件PPT(2022年-2023年).pptx VIP
- 企业视觉形象识别系统VIS报价清单.pdf
文档评论(0)