- 浏览: 425174 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (203)
- 管理 (9)
- 情感 (3)
- 技术 (43)
- jfreeChart (5)
- unix (6)
- webService (3)
- 权限管理 (2)
- spring (3)
- log4j (2)
- java性能测试 (2)
- dwr (1)
- 数据迁移 (4)
- derby数据库基础 (1)
- jsp前台 (4)
- 线程 (6)
- 企业信息化 (2)
- 技术基础 (2)
- 经典算法 (1)
- 数据库性能 (7)
- 个人规划 (8)
- xml (2)
- ftp传输 (1)
- socket (3)
- java技术之正则表达式 (2)
- java技术之io操作 (1)
- java技术之常用命令程序使用方法 (1)
- interview (8)
- eclipse插件安装 (3)
- UML (1)
- oracle (29)
- java (3)
- 航空信息 (3)
- 读书 (1)
- Intellij idea (0)
- linux (24)
- 服务器架构 (4)
- weblogic (3)
最新评论
-
tuspark:
关于eclipse插件安装方法,这里文章图文并茂,讲解的最详细 ...
eclipse插件安装方法总结 -
swanky_yao:
非常不错 受益匪浅
j2ee异常处理机制 -
菜鸟不再菜:
如果能拿一个项目的例子来说明一下就好了~
j2ee异常处理机制 -
Q.Lee:
不出现异常了,但是访问http://localhost:808 ...
dwr使用异常 -
Q.Lee:
崩溃。。。。。
dwr使用异常
package com.send.start; import java.io.File; import java.io.FilenameFilter; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.URL; import java.util.ArrayList; import java.util.List; public class Start { public static String libPath = ""; public static ClassLoader classLoader; /** * @param args */ public static void main(String[] args) { libPath = args[0]; createClassLoader(); try { Class clazz = classLoader.loadClass("cmbcagent.tianjin.gjj.dz.MapSender"); Method m = clazz.getDeclaredMethod("start", new Class[0]); m.invoke(clazz.newInstance(), new Object[0]); } catch (Exception e) { throw new RuntimeException(""); } } public static void createClassLoader() { File localFile1 = new File(libPath); checkLibDir(localFile1); ArrayList localArrayList = new ArrayList(64); File localFile2 = new File(libPath); getAllJarUrl(localArrayList, localFile2); // File localFile3 = new File(this.libPath + "ext"); // getAllJarUrl(localArrayList, localFile3); URL[] arrayOfURL = new URL[localArrayList.size()]; localArrayList.toArray(arrayOfURL); System.out.println("******arrayOfURL.length: " + arrayOfURL.length); for (int i = 0; i < arrayOfURL.length; ++i) System.out.println(arrayOfURL[i]); AppendableURLClassloader localAppendableURLClassloader = new AppendableURLClassloader(arrayOfURL, Thread.currentThread() .getContextClassLoader()); classLoader = localAppendableURLClassloader; Thread.currentThread().setContextClassLoader(classLoader); } public static void getAllJarUrl(List paramList, File paramFile) { checkLibDir(paramFile); String[] arrayOfString = listAllJarFile(paramFile); File localFile = null; int i = 0; try { i = 0; while (true) { if (i >= arrayOfString.length) break; localFile = new File(paramFile, arrayOfString[i]); localFile = localFile.getCanonicalFile(); paramList.add(localFile.toURL()); ++i; } } catch (Exception localException) { localException.printStackTrace(); throw new RuntimeException("Bootstrap.listJar"); } } public static String[] listAllJarFile(File paramFile) { return paramFile.list(new FilenameFilter() { public boolean accept(File paramFile, String paramString) { return (paramString.endsWith(".jar")); } }); } public static void checkLibDir(File paramFile) { if (!(paramFile.exists())) throw new IllegalArgumentException("libPath.notExist"); if (!(paramFile.isDirectory())) throw new IllegalArgumentException("libPath.notDirectory"); if (!(paramFile.canRead())) throw new IllegalArgumentException("libPath.canNotRead"); } }
注意事项:
1.启动的类要单独放在一个jar包中,即含有main方法的类
2.main方法中不能引用第三方jar文件中的类(即通过import来导入的类只能是jvm自动加载的基本类,不能是第三方的jar),如果要引用只能通过反射机制来加载
3.main方法中主要是通过使用URLClassLoader来加载第三方的jar文件,并设置到当前线程下,然后通过反射机制来加载具体类,然后运行工程
含有Main的类只是负责通过反射机制调用主程序,起到一个入口的作用,其他不做任何业务操作
发表评论
-
WIN10 下 IE11 F12开发者工具无法debug断点调试js
2016-03-03 12:26 10181前段时间买了新电脑,安装的是win10系统,开发程序时需要 ... -
更改ejs模板后缀.ejs为.html
2015-03-25 16:12 761app.engine('.html', require('e ... -
npm设置http代理
2015-03-25 15:32 1372node.js 的npm命令是node.js的包管理工具,安 ... -
ERROR Deployer not found: git
2015-03-23 01:39 0出现该问题基本原因是由于没有安装hexo-deployer- ... -
webstorm install
2015-03-22 23:36 1009在安装hexo前,需要先安装webstorm,并通过web ... -
centos6 git github
2015-03-22 23:30 901git的出现让传统的svn陷入尴尬的境地,分布式的版本控制 ... -
centos6 nodejs install
2015-03-22 22:02 664准备命令: yum -y install gcc ma ... -
fcitx安装
2015-03-21 00:13 869CentOS安装fcitx方法 因为选择的是最小安装 ... -
_jspxFactory nullpointException
2012-11-01 11:12 1065exception org.apache.jas ... -
preparedstatement execute()操作成功!但是返回false
2012-10-22 10:58 2848boolean b = ps.execute();//这 ... -
如何用 SQL Tuning Advisor (STA) 优化SQL语句
2011-08-26 10:46 1104在Oracle10g之前,优化SQL是个比较费力的技术活, ... -
谈谈对于技术面试的心得体验
2011-02-10 14:10 999只要是招一个技术人 ... -
eclipse3.4从svn导出后html中文乱码
2010-09-25 11:54 1863问题描述:从svn中check out一个工程,然后给工程设置 ... -
使用break+label配合跳出多重循环
2010-03-24 10:34 1781签语句是在某个语句前面加上个标识符以及一个冒号 . 标签在 b ... -
jar命令使用遇到问题
2010-03-24 10:32 1339jar cvfm stup.jar ../list.txt - ... -
数据库中取出的值判断
2010-03-05 16:56 1055//数据库中取出的值判断时,经常出现使用null和“”都判断不 ... -
批处理删除svn文件与clas文件
2010-03-04 11:01 1623package com.delete.dir; impo ... -
压缩与解压缩文档
2009-12-29 21:11 1326package com.sjs; import java ... -
java程序中调用数据库中的存储过程
2009-11-27 12:32 1032public static void aa(String jo ... -
java代码实现运行cmd命令
2009-11-21 19:06 1975命令工厂: public class CommandFact ...
相关推荐
"java必须第三方jar文件"这个标题暗示了在Java开发过程中,有些功能或服务的实现离不开第三方库的支持。 首先,让我们了解一下什么是第三方库。在Java世界里,第三方库是由非Java标准库提供的额外功能集合。它们是...
这个问题通常发生在使用`Class.forName()`或`ClassLoader.getSystemClassLoader().loadClass()`尝试动态加载第三方JAR中的类时。 Java虚拟机(JVM)的类加载机制是导致此问题的关键。自JDK 1.2以来,JVM采用委托...
本篇文章将详细讲解如何在Java项目中导入并使用第三方JAR包,以及与之相关的工具和实践技巧。 首先,我们需要理解JAR(Java Archive)文件的性质。JAR是一种用于存储Java类文件、资源文件和元数据的容器,它允许...
总之,"打包第三方Jar插件"涉及Java项目中依赖管理、构建路径设置、类加载机制、项目打包等多个方面。通过理解并熟练运用这些知识点,可以提高开发效率,减少错误,保证项目的稳定性和可维护性。在实际操作中,结合...
标题中的“flink安装所需要的第三方jar”指的是在部署和运行Apache Flink项目时,除了Flink自身的基础库之外,可能还需要依赖的一些外部JAR包。这些JAR包通常包含了Flink与其它系统的交互所需的组件,比如Hadoop。在...
- **可维护性**:抽离第三方jar包使得维护更方便,同时保持了工程间的差异性,方便持续压缩代码。 - **兼容性**:在二次开发时,即使添加了新的第三方库,也不会影响原有工程的运行,因为新添加的库不会影响已抽离的...
在Java编程环境中,开发一个MP3播放器是一个挑战性的任务...使用Java Sound API或第三方库提供的API进行音频播放控制;以及创建用户友好的GUI界面。通过熟练掌握这些技术,你可以构建出一个功能完备的Java MP3播放器。
Java 使用 JNA(Java Native Access)调用C/C++编写的第三方动态库(DLL文件)是一种常见的技术,它允许Java程序直接与本地操作系统接口交互,而无需编写JNI(Java Native Interface)代码。JNA 提供了一种相对简洁...
**步骤四:添加第三方jar包** 在“JRE选择”阶段,点击“添加”按钮来导入项目所需的第三方jar包。这一步至关重要,因为这些jar包包含了你的程序运行所依赖的类和资源。确保添加所有必要的库,包括你自己项目的编译...
在Java Web开发中,"FileUpload上传第三方JAR包"是一个常见的需求,特别是在构建自定义应用或集成外部库时。这个过程涉及到多个知识点,包括文件上传、类路径管理以及依赖注入。下面将详细阐述这些关键点。 1. 文件...
除了上述方法外,还可以借助于第三方工具如7-Zip等来解压JAR文件。这种方法虽然不能直接运行JAR文件中的程序,但对于查看其内部结构非常有帮助。 #### 二、JAR文件与Java环境的关联 为了使JAR文件能够像其他可...
`FatJar`是一个第三方插件,适用于`Eclipse`和`MyEclipse`,它的主要功能是帮助开发者将所有项目依赖的库文件(即第三方JAR包)打包进最终的可执行JAR中。这样,当用户运行这个单一的JAR文件时,不需要额外配置类...
这个过程涉及到将Java的JAR文件转换为Windows平台上的EXE文件,并且还需要处理第三方库的集成。以下是使用exe4j进行此操作的详细步骤和注意事项: 1. **准备阶段**: - 确保你的JAR文件、ICO图标、第三方库(存放...
在IT行业中,有时我们需要在Java程序中调用第三方的DLL(动态链接库)文件,这通常是C或C++编写的库。Java Native Access (JNA) 是一个流行的开源框架,它允许Java代码直接调用本机库函数,而无需编写JNI(Java ...
Android.mk文件是Android系统中的一个重要文件,它负责管理和编译Android应用程序中的资源文件和Java代码,而添加第三方jar文件是Android开发中一个常见的需求。本文将详细介绍如何在Android.mk文件中添加第三方jar...
但是,如果希望绕过这种内置机制,直接通过修改`.classpath`文件来添加第三方JAR包,则可以按照以下步骤操作: ##### 1. 备份原`.classpath`文件 在进行任何更改之前,请先备份原`.classpath`文件,以防万一出错...
本文将深入探讨如何在Android项目中进行混淆,并特别关注如何处理第三方jar包。 首先,了解混淆的基本概念。混淆是通过重命名类、方法和变量,将其转化为简短的无意义名称,以增加逆向工程的难度。Android Studio...
- **安全审计**:检查第三方组件是否存在潜在的安全漏洞。 - **教学与培训**:演示Java字节码与源代码之间的关系。 尽管反编译在某些场景下很有用,但必须尊重软件的版权和许可协议,不得非法使用反编译结果。对于...
本篇文章将详细介绍两种常用的方法来检测Java程序中的文件编码:一是使用`cpdetector`第三方库,二是通过自定义的`EncodingDetect.java`工具类。 1. **cpdetector第三方库** `cpdetector`是一个开源的Java库,它...
- **Libraries**: 这是最重要的部分,你需要添加所有项目依赖的第三方JAR包。点击“Add External JARs…”或“Add JARs…”,选择项目中引用的库文件。 5. 完成上述配置后,点击“Finish”开始导出过程。Eclipse会...