Tag: plugins

c ++插件 – > JNI – > Java Classpath

我正在尝试为应用程序创建一个插件。 插件需要用c ++编写。 我想在Windows和Mac上使用插件,所以用Java编写插件会很棒。 我的问题是,还有一个使用Java的插件。 由于它们使用相同的主应用程序,因此已经有一个正在运行的JavaVM。 JavaVM *jvm = NULL; jsize jvm_count = 0; jint res=0; res = JNI_GetCreatedJavaVMs (&jvm, 1, &jvm_count); 我的问题:如何更改/修改现有JavaVM的Classpath? 或者我如何创建新的/第二个JavaVM? 我试图通过JNI加载我的jar文件: /* URL CLASS */ jclass URLcls; URLcls = env->FindClass(“java/net/URL”); /* URL CLASS CONSTRUCTOR*/ jmethodID URLclsMid; URLclsMid = env->GetMethodID(URLcls, “”,”(Ljava/lang/String;)V”); /* URL OBJECT */ jobject URLobj; jstr = env->NewStringUTF(“file:/path/to/test/file/test.jar”); URLobj = […]

用于生成ISO文件的Maven插件

是否有能够生成ISO映像的maven插件? 我需要获取一些模块的输出(主要是包含jar的zip文件)并将它们组合成一个ISO映像。 谢谢

Java动态加载插件

我想创建一个可以动态加载插件的应用程序,但我没有在互联网上找到任何文献。 困难的是:我事先不知道这个名字。 例如,我有一个插件界面: public interface Plugin { public static Plugin newPlugin(); public void executePlugin(String args[]); } 这样在jar文件中实现插件的每个Class都在列表中实例化: Method method = classToLoad.getMethod (“newPlugin”); mylist.add(method.invoke(null); 第一个问题是,我不能在接口中使用静态方法。 第二个问题是,我不知道如何找到实现接口的所有类 谢谢你的帮助。

java 8u31插件导致签名小程序加载速度慢得多

我注意到使用最新的插件(包含在java 8u31和7u75中)加载签名的applet要慢得多。 我已经调试了很多情况,我发现问题与jnlp文件中引用的jar文件的大小直接相关。 问题是每次applet启动时,都会对缓存的jar文件进行一些“重新索引”,这需要花费时间。 为了重现这个问题我做了这个:我创建了一个最小的applet,在我用来部署它的jnlp文件中,我添加了几个不相关的.jar文件(甚至没有被引用,所以类加载器不加载它们)相当大(例如30MB)。 当然我在jnlp中使用版本控制并捕获所有http流量以确保延迟不是因为流量(重新下载或证书撤销检查等)。 我在启用了跟踪的情况下运行applet,然后浏览了xml跟踪日志文件,找出了延迟的来源:它们总是来自JarSigningVerifier …. 有没有人见过这样的东西? 很容易看到和重现这种行为,我想知道是否有我忽略的东西。 在过去几年中广泛使用applet,我完全迷失了可能发生的事情。 我可以validation恢复到以前版本的插件(以及之前的所有其他版本)按预期工作。 我已经向oracle提交了一份错误报告,但我还没有收到回复。 任何信息或想法都会有所帮助,TIA

Springdependency injection和插件Jar

我有一个使用后端服务的默认impl运行的Web应用程序。 一个人应该能够实现接口并将jar放入plugins文件夹(不在apps类路径中)。 重新启动服务器之后,我们的想法是将新jar加载到类加载器中,并让它参与dependency injection。 我正在使用@Autowired的Spring DI。 新的插件服务impl将具有@Primary注释。 因此,给定接口的两个impl,应该加载primary。 我将jar加载到类加载器中并可以手动调用impl。 但我无法参与dependency injection,并让它替换默认的impl。 这是一个简化的例子: @Controller public class MyController { @Autowired Service service; } //default.jar @Service DefaultService implements Service { public void print() { System.out.println(“printing DefaultService.print()”); } } //plugin.jar not in classpath yet @Service @Primary MyNewService implements Service { public void print() { System.out.println(“printing MyNewService.print()”); } } //由于缺少更好的地方,我从ContextListener加载了插件jar […]

在屏幕上查找复合位置

我正在用Java实现SWT和AWT的屏幕键盘。 一个重要的事情是将键盘移动到所选文本字段可以显示的位置,而不是位于屏幕键盘后面。 对于AWT,我可以检测当前所选组件的位置 Component owner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner(); if (owner == null) { return; } Point ownerLocation = owner.getLocationOnScreen(); Dimension ownerSize = owner.getSize(); 如何在SWT中实现相同的逻辑? 我通过将一个focuslistener添加到SWT事件队列来获取当前选定的小部件。 但是当我打电话时 Point location = new Point(mTextWidget.getLocation().x, mTextWidget.getLocation().y); Dimension dimension = new Dimension(mTextWidget.getSize().x, mTextWidget.getSize().y); 我将得到与父复合相对的位置。 如何才能将特殊小部件的位置与整个屏幕相关联?

如何安装特定版本的IDEA插件?

自从转到我使用的一个IDEA插件的最新版本后,我遇到了问题。 我可以从他们的网站下载以前版本的插件的ZIP文件,但我找不到有关如何手动安装特定版本插件的任何安装说明。 有人知道怎么做吗?

如何在没有安装maven和java的情况下从gradle执行maven插件

我需要在没有安装maven和java的系统上执行maven plugin ,并且不能在系统上安装它们。 在搜索方法时,我发现通过使用gradle,我们可以构建可执行的二进制文件,甚至不需要gradle来执行,这完全符合我的情况:)。 有没有办法使用gradle执行maven插件。 提前致谢

Spring MessageSource是否支持多类路径?

我正在使用Spring框架为基于Web的应用程序设计插件系统。 插件是类路径上的jar。 所以我能够得到像jsp这样的资源,见下文 ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); Resource[] pages = resolver.getResources(“classpath*:jsp/*jsp”); 到现在为止还挺好。 但我的messageSource有问题。 在我看来, ReloadableResourceBundleMessageSource #setBasename不支持通过“classpath *:”的多个类路径。如果我只使用“classpath:”,我只从一个插件获取messageSource。 有没有人知道如何从所有插件注册messageSources? 是否存在MessageSource的这种实现?

从java项目中提取所有字符串

我有相当多的源文件,我需要解析并提取所有字符串文字,并将它们作为播放旧的Java常量放在一个文件中。 举个例子: Label l = new Label(“Cat”); 会成为: Label l = new Label(Constants.CAT); 在Constants.java我会: public final static String CAT = “Cat”; 我不希望字符串在属性文本文件中外部化。 一个原因是一致性和代码可读性。 另一个是我们的客户端代码使用GWT ,它不支持Java属性文本文件机制。 我可以写一些解析器(可能使用ant replace任务)? 但我想知道IDE已经自动执行此类操作。