`
programmer
  • 浏览: 75674 次
  • 性别: 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包.

相关推荐

    Android 静态分析实例以及工具

    静态分析是探索Android程序内幕的一种最常见的方法,它与动态调剂双剑合璧,帮助分析人员解决分析时遇到的各种“疑难”问题。 静态分析是指在不运行的情况下,采用词法分析、语法分析等各种技术手段对程序文件进行...

    arthas-boot.jar

    当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上...

    Hadoop原理与技术MapReduce实验

    一、实验目的 (1)熟悉Hadoop开发包 (2)编写MepReduce程序 (3)调试和运行MepReduce程序 (4)完成上课老师演示的内容 二、实验环境 Windows 10 VMware Workstation Pro...(1):写pagerank代码并把代码生成jar包

    演示EJB3.0 + JPA + MySQL5.0 + C3P0连接池技术实战编程(Top-Down的XP开发方式)

    注意:配置JBoss服务器和调试的动作参见readme.txt文档,有详细说明怎样匹配连接池,以及可能遇到的问题及解决办法。该例子演示怎样使用Hibernate技术(没有使用XDoclet技术)实现JPA的Top-Down的XP开发流程,本人...

    arthas-idea-plugin.zip

    当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上...

    SwetakeQRCode.jar

    很多人是不是遇到过在网络上下载了一个android二维码产生的源代码,却无法成功运行的情况呢?就是缺少了这个文件!

    arthas-master.zip

    Arthas 是Alibaba开源的Java诊断工具,当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到?难道是我没 commit?...

    是Alibaba开源的Java诊断工具

    当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 ...

    arthas 3.3.6

    当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上...

    arthas.png

    当你遇到以下类似问题而束手无策时,Arthas 可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法...

    arthas-bin.zip

    遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 是否有一个全局视角来查看系统的运行状况? 有什么办法可以监控到JVM的...

    pttrt:将它们传递给运行时

    很多时候,我的程序需要一些信息,这些信息是在编译时生成的,并在运行时使用。 例如,Subversion的修订版,JAR的依赖项,配置文件以及可怜的人的宏;-)等。 在sbt中处理这些情况确实非常重要。 您需要为生成的每种...

    网狐荣耀版开发使用常见问题解答

    网狐荣耀版斗地主第三个人进入开始时弹出,这样的问题经常有网友遇到。 经过问题分析,代码查看,是开发库的问题,解决了开发库问题,就正常了。 十七、网狐荣耀版李奎劈鱼游戏,捕鱼游戏提示“非法组件的解决办法...

    《Java-web程序设计》教案.doc

    从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器 进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数 台服务器,Java显示了一个巨大的生命力。 多样化和功能强大的开发...

    mailer:Spring Boot Mailer服务

    邮件服务(电子邮件后端) 该服务是使用Spring Boot Framework创建的。 通过Spring Boot,可以轻松地... 然后您可以运行JAR文件: java -jar target / mailer-0.0.1-SNAPSHOT.jar 注意:上面的命令假定您位于mailer

    Hello-world:一个完整的第 n 个斐波那契数生成 api,使用 Gradle+ Dropwizard +Heroku 部署规范

    <<<<<... 生成的 JAR 将保存为./build/libs/dropwizard-gradle-master.jar 。 您可以简单地使用java -jar build/libs/dropwizard-gradle-master server src/dist/config/helloworld.ym

    pokemon-wilds:Pokemon Wilds-使用libGDX的第2代Pokemon GameEngine

    宠物小精灵荒野 怎么玩 免责声明:这是目前在Alpha中。... 注意:如果您正在运行pokemon-wilds.jar,并且想要生成大型地图(任何大于M的地图),则需要在命令窗口中运行'java -jar -Xmx1024M pokemon

    xalanjava源码-SyntaxDiagramGenerator:Scala2.8的语法图生成插件,基于http://blog.32lea

    xalan java源码基于以下位置的示例代码和示例: 根据原始知识共享署名-相同方式共享 ...手动运行它时遇到了问题,但在 CLI 上可以通过将 CLASSPATH 设置为: project/boot/scala-2.8.0/lib/scala-library.j

    TwitterBot:欢迎您的新粉丝:person_raising_hand:‍:person_raising_hand:

    推特欢迎您的新关注者 :person_raising_hand: 如果您想通过一条简短的消息与刚获得的关注者握手,则此bot是适合您的完美解决方案!...head:问题如果您在安装我的机器人时遇到任何问题,可以加入或创建。

    dreamer:Dreamer of Electric Sheep,一个 BBC-Micro 风格的程序生成文本冒险游戏,其精灵是从网络上抓取的

    虽然我已尽最大努力将我遇到的令人反感的内容列入黑名单,但数据库如此庞大,我无能为力。 你可以在这里玩现场版: : 二进制下载也链接在那里。 运行(下载) 如果您有 JAR 下载,请确保您已安装 Java 1.5,...

Global site tag (gtag.js) - Google Analytics