`
programmer
  • 浏览: 76752 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

运行时动态生成jar遇到技术问题

阅读更多
业务背景:
自己开发的一个工具包tool.jar,其中有一个功能需要需要根据schema生成对应的java文件,然后把对应的java文件
打到包里去。但是schema 是项目运行中是随时会改变的,也就是需要重新生成对应java 文件,并且进行动态编译。
针对上面的业务需求,我想到的处理方法是:
1.运送时首先判断schema 是否有修改。
2.如果schema没有修改,那么就直接使用tool.jar里的功能。
3.如果schema有修改,那么需要根据新的schema动态生产java文件,并且动态编译,并且需要把tool.jar里的旧的文件用新生成java文件进行替换。
我碰到的技术问题是第三点,有人研究过相关的技术吗?
分享到:
评论
4 楼 programmer 2006-11-02  
ggyy  能不能说的清楚一点,最好是有具体的步骤,谢谢!
3 楼 ggyy 2006-11-01  
可以这样做.使用脚本做为前端.使用javascript或jython都可以
2 楼 programmer 2006-10-31  
wolfsquare 就算按你的说法把tool.jar 分成两个包tool1.jar,tool2.jar(动态变),然后每次使用tool2.jar的时候我在动态加载它,但我的问题时动态加载tool2.jar之前还需要判断此tool2.jar里的schema是否有修改,如有修改我需要从新把schema生成对应的java文件,然后重新编译,然后再重新打一个tool2.jar 包再加载这个新tool2.jar用于我系统时候。
我知道robbin经验最丰富了,能给一点建议吗?谢谢!
1 楼 wolfsquare 2006-10-31  
可以将tool.jar分做两部分,使用动态装载来装变化的那个jar包.

相关推荐

    生成JAR包的方法(打包后运行好像不快)

    - **描述**:“在练习做orcl数据库比对工具时,需要生成JAR包时搜集的资料,打包后运行比较慢(能解决的高手回帖帮忙哦)”:这表明作者在开发Oracle数据库比对工具的过程中遇到了JAR包运行速度慢的问题,并希望寻求解决...

    dvis-jre 运行时jre环境jar

    详细步骤来解决dvis-jre运行时问题: 1. **检查JRE版本**:确保已安装的JRE版本与DbVisualizer要求的版本兼容。通常,可以在DbVisualizer的官方文档中找到推荐的JRE版本。 2. **安装或更新JRE**:如果未安装JRE,...

    java开发生成json的jar包

    在实际开发中,还可能涉及到JSON的复杂类型处理,如处理嵌套结构、自定义序列化器、处理日期时间格式等,这些都是Java生成JSON时可能遇到的问题。通过不断学习和实践,开发者可以熟练掌握这些技能,提高开发效率。

    【绝对可行,解决404】jfinal项目打包成jar在控制台运行方法

    在IT行业中,开发Java应用程序时,常常需要将项目打包成可执行的JAR(Java Archive)文件,以便在没有开发环境的机器上运行。对于基于JFinal的Web应用,这个过程可能会遇到一些挑战,因为JFinal是轻量级的Java Web...

    mybatis自动化生成代码jar包

    本篇将详细讲解MyBatis的自动化代码生成机制、配置文件的使用以及可能遇到的问题及其解决方案。 1. MyBatis代码生成器(Code Generator) MyBatis的代码生成器是通过`mybatis-generator-plugin`实现的,它允许...

    jarjar-1.4.jar

    在Java开发过程中,我们经常会遇到一个头疼的问题:jar包冲突。这是因为不同的库或者框架可能会包含相同类的不同版本,导致运行时出现错误。为了解决这个问题,开发者们开发了一款名为"jarjar"的工具,其核心功能是...

    Myeclipse生成jar包插件fat及使用教程

    MyEclipse作为一款强大的Java集成开发环境,提供了丰富的功能,其中包括了生成JAR包的工具。然而,对于包含依赖库的项目,标准的JAR打包方式往往无法满足需求,因为它们不会将依赖的外部库包含进去。为了解决这个...

    jarjar-1.4.jar 动态更改包名

    如果在运行过程中遇到错误,比如找不到类或者类名冲突,需要检查规则文件和输入的jar包,确保它们是正确的。 3. **优化性能** 对于大型项目,处理过程可能需要较长时间。可以通过并行处理和分批处理等策略来优化...

    json运行所必须的jar包

    在解析或生成JSON时,可能需要将不同类型的值转换为适合JSON格式的类型。 6. **commons-logging-1.1.3.jar**:Apache Commons Logging是Java的日志抽象层,它允许在项目中使用不同的日志实现,如Log4j或Java内置的...

    java 生成 excel 包含jar包

    总的来说,"java 生成 excel 包含jar包"是一个便捷的方式,帮助开发者快速在Java项目中实现Excel文件的生成,只需要简单几步就可以集成并运行。如果你在开发过程中遇到问题,可以通过提供的博客链接寻找解决方案,...

    java的jar文件生成.pdf

    // 使用jar命令生成JAR文件 jar cvfm Hello.jar META-INF/MANIFEST.MF HelloWorld.class ``` 在清单文件`MANIFEST.MF`中可能包含如下内容: ``` Manifest-Version: 1.0 Main-Class: HelloWorld Class-Path: lib/...

    替换jar包包名的jar以及rule规则文件

    `Readme.md`文件通常包含`jarjar`工具的详细使用指南,包括如何安装、配置规则文件、运行命令以及可能遇到的问题和解决方案。对于初学者来说,阅读这份文档至关重要,因为它能帮助理解如何正确地使用工具并避免常见...

    velocity所需的jar包

    在使用Velocity时,可能会遇到需要调试或记录错误的情况,这时Log4j可以帮助我们跟踪和记录这些问题。 `eclipse相关插件`,虽然不是必需的jar包,但对于使用Eclipse作为IDE的开发者来说,可能需要安装Velocity支持...

    jarjar-方便Java打包工具,自定义修改jar包包名

    源代码也可以帮助开发者在遇到问题时进行调试,或者在无法使用预编译版本的情况下自行编译。 jarjar-1.4-javadoc.jar是jarjar的API文档,提供了详细的使用说明和API参考。通过阅读这个文件,开发者可以了解到如何...

    jar文件 变成dll

    标题中的“jar文件变成dll”指的是将Java编写的类库转换为.NET平台可使用的动态链接库(DLL)文件。在.NET框架中,DLL是共享代码的主要形式,可以在多个应用程序之间重用。Java的jar文件则包含了编译后的字节码,...

    JSONObject运行Jar包

    在使用json-lib时,如果遇到`JSONArray.fromObject()`报错,这可能是因为缺少了必要的依赖,比如上述列出的jar包,或者是版本不兼容。`JSONArray.fromObject()`方法是用来将Java对象转换为JSONArray,如果运行时环境...

    jarjar-1.5.zip

    5. **测试与验证**:生成新的JAR文件后,需确保应用能够正常运行,没有因为类重命名或移动而引发的问题。 6. **整合到构建流程**:一旦确认无误,可以将JarJar集成到自动化构建流程(如Maven的POM.xml或Gradle的...

    axis生成客户端两种简单方法(附加mail.jar,activation.jar,xalan.jar,xmlsec.jar)

    在使用AXIS生成客户端时,确保这些库文件已经添加到项目的类路径中,否则可能会遇到运行时错误。通常,这些库文件会被包含在AXIS的lib目录下,或者作为依赖项加入到构建工具(如Maven或Gradle)的配置中。 总的来说...

    Jar打包(解决eclipse无法打包含有第三方架包问题)

    然而,Eclipse IDE在默认情况下,对于包含第三方库的项目打包时可能会遇到问题,因为它并不自动将这些依赖的库文件包含进生成的JAR中。针对这一问题,我们可以采用一种称为"fat jar"的打包方式来解决。 "Fat jar"...

    Cglib动态代理需要用到的jar包

    在这个场景下,Cglib扮演了一个代码生成器的角色,它能够在运行时动态地生成字节码,从而创建新的类实例。 Cglib依赖于ASM库,ASM是一个轻量级的Java字节码操控和分析框架。ASM提供了一种方式来解析和生成Java类的...

Global site tag (gtag.js) - Google Analytics