Tag: 插件

如何制作Java插件?

如果我想让我的Java程序能够接受插件,那么如何让Java插件使用核心程序类而不包含插件代码的所有代码? 插件如何访问程序界面而不将其包含在自己的jar文件中?

为J2SE应用程序添加插件支持的最佳技术?

我正在编写一个J2SE桌面应用程序,需要其中一个组件可插拔。 我已经为这个插件定义了Java接口。 用户应该能够在运行时(通过GUI)选择他们想要使用的这个接口的实现(例如在初始化对话框中)。 我设想将每个插件打包为一个JAR文件,其中包含实现类以及它可能需要的任何帮助程序类。 在桌面Java应用程序中执行此类操作的最佳技术是什么?

是否有Java Applets的插件框架?

我们有一个大型Java应用程序,它以applet或Java Web Start的forms运行。 它越来越多。 典型的用户只需要一小部分类。 因为Java不知道哪个类可以在哪个jar文件中找到它加载所有jar文件,直到找到该类。 如果它将加载一个不存在的类(例如资源包),那么它将加载所有jar文件。 这样可以在很小的带宽上减少启动时间。 是否有一个小框架,我们只有在需要时才可以加载插件? 或者如果需要和背景更好? 当然,框架不应该以大尺寸延迟自己的开始时间。 我认为它应该使用URLClassLoader进行下载。

SecurityManager用于云服务“沙箱”

所有, 我正在设计基于云的服务,该服务将提供执行客户提交的一些“插件”代码的选项。 为了完成这项工作,插件不能威胁系统完整性或具有访问其他客户端数据的能力。 理想情况下,我希望客户端可以提交一个简单的jar文件(包含符合某些预定义接口的类),然后在沙箱中运行。 应允许客户端代码: 在单个线程上占用所需的CPU时间 使用标准java类(例如java.lang.Math,java.util.Random等)执行任何计算 调用jar中捆绑的任何库(但必须遵守相同的限制) 但我特别需要禁止以下内容: 产生新线程(以便可以公平地管理服务器资源!) 对文件系统/ IO /网络的任何访问权限 对本机代码的任何访问 除了传递给客户端代码/由客户端代码创建的数据之外,对JVM中的数据的任何访问权限 对除.jar沙箱中的类以外的类的reflection的任何访问权限 除了标准Java库之外,还能够在沙箱外部的对象上调用方法 是否可以使用自定义ClassLoader / SecurityManager设置来实现此目的? 或者我是否需要开始寻找更复杂的解决方案(例如启动多个JVM?)

eclipse插件编程中的“Workbench尚未创建”错误

随着我的eclipse插件启动,我得到Root exception:java.lang.IllegalStateException: Workbench has not been created yet. 错误。 并且它似乎导致副作用使一些包exception错误。 我不认为我的代码使用egit模块。 org.osgi.framework.BundleException: Exception in org.eclipse.egit.ui.Activator.start() of bundle org.eclipse.egit.ui. at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:734) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683) at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381) at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300) 如何删除此错误? 这是访问工作区的代码。 我发现这篇文章 – 调试失败的Eclipse启动说它是竞争条件,但我不确定为什么我有竞争条件,如果是这样,如何删除它。 public void renameClassRefactor() throws CoreException { // get the project information with ResourcesPlugin IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); // 1. The name of the project […]

编写一个firefox插件并从java应用程序访问它

我想写一个firefox插件,它将与java应用程序通信。 该插件必须通知java应用程序正在加载的网页/url。 java应用程序将负责其余的工作。 任何帮助或指示将不胜感激。

有没有办法自动将Groovy转换为Java?

我inheritance了大量的Groovy代码,我发现很难维护它有几个原因: 通常很难说变量的类型是什么。 推论:很容易修改具有不同类型的变量,而不是意识到它。 在运行期之前会发现许多错误(如果您的unit testing几乎不包括所有内容,那就太可怕了)。 基本上忽略了参数的类型。 我正在使用的IDE(STS Pro)很有用,但远远落后于Java。 例如,重构是不可用的。 有时可以提供建议,有些则不是。 虽然我很欣赏这种语言的紧凑性,但维护工作既困难又繁琐。 我试图手动将一些部分转换为Java,这很痛苦。 您是否了解有助于此转换的任何工具或插件?

在运行时交换正在运行的jar

我正在构建一个更新系统,我需要能够在运行时替换正在运行的应用程序jar的引用jar。 但是,当尝试在jar上执行文件实用程序function(例如’setLastModified’)时,我在Windows上遇到文件锁定问题。 经过一些谷歌搜索我发现这个片段… 我在研究中发现,标准的ClassLoader实现一旦打开就永远不会关闭它。 它还只根据需要从jar文件中加载资源。 因此,在任何特定时间,jar文件中可能存在尚未加载到内存中的类。 显然,如果你从ClassLoader下删除jar文件,并且它试图在丢失的文件中找到一个资源,那么你至少会得到一个IOException。 有没有人提到有关这样做的信息,或解决这个问题? 谢谢。

Maven中的代码生成

我想从接口自动生成一些java类。 我的第一个想法是编写代码生成器,并将其集成为maven插件。 我正在考虑创建一个maven插件,其中包含在构建过​​程中调用的codegen目标。 因此,如果我选择此路由,如何为插件提供要处理的接口? 生成的文件应该放在哪里? 是否有任何现有的插件可以配置为生成默认的类实现?

有没有办法让jadclipse使用Eclipse 3.4?

我是Jadclipse插件的忠实粉丝,我真的很想升级到Eclipse 3.4,但插件目前无效。 是否还有其他程序可以让你使用jad来查看从Eclipse导航到的代码源代码? (在深入研究堆栈跟踪中的模糊代码时非常有用)。