我现在在搞GMF。需要修改plugin里面jar里的文件夹的源码。可是却不知道该怎么弄?覆盖不了。求助。javaJAR源代码

解决方案 »

  1.   

    源码是.java还是.class文件啊?GMF是什么东东
      

  2.   

    下载一个反编译工具,然后重写这一个class类对应的JAVA类,然后生成.class 复盖以前的class文件 
      

  3.   

    自己解决吧。问题描述:如何修改plugin里面jar的源码。小问题包括debug是跑入了class文件中
    1,将原有的xxxxxx.jar文件和xxxxx.source.jar进行解压。
    2,用xxxxxxx.source.jar里面的源码替换xxxxxxxxxxx.jar里的class文件。
    3,新建普通的java项目。将替换好的文件copy到对应目录。
    4,修改完成之后,打开plugin.xml的overview视图进行export进行倒出。
    5,在导出的过程中。请应用已经有的MANIFEST.MF文件。而不是使用标准的MANIFEST.MF文件。
    重要说明:在整个过程中。不要对原来的文件进行任何修改。除了java替换class文件。
    问题描述:如何更方便的调试修改plugin里面jar的源码。
    解决方法:修改MANIFEST.MF
    Manifest-Version: 1.0
    Bundle-ManifestVersion: 2
    Bundle-Name: %pluginName
    Bundle-SymbolicName: com.snow.diagram; singleton:=true
    Bundle-Version: 1.0.0.qualifier
    Bundle-ClassPath: .
    Bundle-Activator: my.diagram.part.MyDiagramEditorPlugin
    Bundle-Vendor: %providerName
    Bundle-Localization: plugin
    Export-Package: my.diagram.edit.parts, 
     my.diagram.part,
     my.diagram.providers
    Require-Bundle: org.eclipse.core.runtime,
     org.eclipse.core.resources,
     org.eclipse.core.expressions,
     org.eclipse.jface,
     org.eclipse.ui.ide,
     org.eclipse.ui.views,
     org.eclipse.ui.navigator,
     org.eclipse.ui.navigator.resources,
     org.eclipse.emf.ecore.xmi,
     org.eclipse.emf.edit.ui,
     org.eclipse.gmf.runtime.emf.core,
     org.eclipse.gmf.runtime.emf.commands.core,
     org.eclipse.gmf.runtime.emf.ui.properties,
     org.eclipse.gmf.runtime.diagram.ui,
     org.eclipse.gmf.runtime.diagram.ui.properties,
     org.eclipse.gmf.runtime.diagram.ui.providers,
     org.eclipse.gmf.runtime.diagram.ui.providers.ide,
     org.eclipse.gmf.runtime.diagram.ui.render,
     org.eclipse.gmf.runtime.diagram.ui.resources.editor,
     org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide,
     org.eclipse.gmf.tooling.runtime;visibility:=reexport,
     org.eclipse.draw2d;visibility:=reexport,
     org.eclipse.gmf.runtime.draw2d.ui;visibility:=reexport,
     com.snow;visibility:=reexport,
     com.snow.edit;visibility:=reexport,
     org.eclipse.emf.ecore;visibility:=reexport,
     org.eclipse.gef;visibility:=reexport
    Bundle-ActivationPolicy: lazy
    Bundle-RequiredExecutionEnvironment: JavaSE-1.6
    1,删除Require-Bundle中原有的插件依赖,例如: org.eclipse.emf.core,
    2,添加自己修改过的插件org.eclipse.emf.ecore;visibility:=reexport,
    3,当开发完毕。还原MANIFEST.MF文件。将修改的插件进行打包并替换原有plugin的插件。