问题标签 [jpf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1188 浏览

weblogic - 使用 Weblogic Portal 10.2 从 JPF 操作返回二进制内容

我的 JPF 控制器的一个操作构建了一个 PDF 文件,我想将此文件返回给用户,以便他可以下载它。

是否可以这样做,或者我是否被迫在某处写入文件并让我的操作转发到该文件的链接?请注意,出于安全原因,我想尽可能避免这种情况,因为我无法知道用户何时下载了文件,以便我可以删除它。

我试图访问 HttpServletResponse 但没有任何反应:

0 投票
2 回答
1682 浏览

java - 如何使用不同 Java 类加载器加载的实现?

我正在编写一个库,允许人们使用插件框架(如果您熟悉的话,它是 JPF)来提供某些接口的实现。插件不存储在类路径中。该框架为每个插件提供了一个 ClassLoader,因此当请求接口“MyInterface”的名为“MyImpl”的实现时,我可以找到正确的插件,然后使用该插件的 ClassLoader 加载类,我可以从中创建一个实例如果我对构造函数有所了解。到现在为止还挺好。

但是,现在我有一个案例,我需要调用一个仅在该特定实现上可用的方法。所以,有两种方法我可以尝试做到这一点:

方法一:

方法二:

方法 1 是两者中更简洁的方法,因为它最类似于如果类是“正常”且无法通过插件访问时编写代码的方式。但是,两者都无法编译。

到目前为止我提出的选项:
A. 使用方法 2,但使用反射来执行 methodOnlyInMyImpl 方法调用(请不要!)
B. 将插件类放在构建路径中,然后使用方法 1,这将编译. (我目前最喜欢的)
C. B + 安装插件时,将类文件复制到类路径中的另一个目录,以便系统类加载器可以加载它们(导致其他问题)

所以,我的问题是:

  1. 我是否错过了另一个更好的想法?
  2. 如果我做 B,我会在运行时遇到问题吗?毕竟,使用 MyImpl 的类可能已经使用系统类加载器加载了。所以,一旦它看到MyImpl foo,它会不会尝试使用系统类加载器加载 MyImpl,这会失败(即使 Plugins.newInstance 调用会提供 MyImpl 的实例)?
0 投票
2 回答
783 浏览

java - 如何动态申报实体?

我尝试使用Java 插件框架开发 Java 插件应用程序。所有插件都可以使用 JPA(使用 Eclipselink)访问 uniq 数据库。

但是每个插件都会有自己的实体。

所以我无法在核心插件的一个唯一文件 persitence.xml 中声明所有实体。

问题是:是否可以在声明 EntityManagerFactory 时动态声明实体类?我已经在使用 Map 从用户配置文件中获取连接字符串和用户/密码。

有没有办法对 Entity 做同样的事情?

谢谢你的帮助。

0 投票
2 回答
2297 浏览

android - Android 应用程序的插件管理

我们希望开发可扩展的 Android 应用程序,并且正在寻找一种处理插件的方法。

您认为最好的方法是什么:

  • 使用 Android 的 PackageManager。这里的问题是,PM 在设计时并没有考虑到插件,所以我们必须自己实现诸如依赖检查之类的功能。

  • 使用现有的 Java 框架,例如 JPF(Java 插件框架)或 OSGi。OSGi 对我们来说看起来太大了,并且没有太多关于 Android 上的 JPF 的可用信息。

  • 其他想法?

0 投票
1 回答
699 浏览

java - Java 插件框架 (JPF) 和 SystemClassLoader

你好stackoverflow世界,

我被 Java Plugin Framework 的一个小问题困住了,我在文档中找不到答案。

问题非常简单:如何从系统类加载器中获取插件带来的类?

换句话说:我有一个插件,它带来了一个类 PluginA,我希望能够从主应用程序(而不是插件)实例化 PluginA。这是默认不允许的,因为每个插件都有自己的类加载器......

对我来说最好的方法是在插件存档中包含一个 jar 并将这个 jar 加载到系统类加载器中,但是如何做到这一点???

如果有人有想法,谢谢!

尼古拉斯

0 投票
2 回答
1779 浏览

java - 使用来自另一个 java 项目的 Java Path Finder

我想使用另一个 java 项目中的 JPF(Java 路径查找器)。

我已经完成的步骤:

  1. 我创建了一个新的 Java 项目

  2. 在构建路径中引用了 jpf-core。

  3. 创建了一个 java 类(Test.java)打印 Hello world(在我的新项目中)。

  4. 在我提到的目标 = 测试中创建了一个 .jpf 文件(Test.jpf)。

  5. 在我提到的eclipse启动配置中

我的问题是如果我将相同的 .java 文件和 .jpf 文件放在 jpf-core 项目的 jpf-core/examples 包中,我就可以运行 jpf 文件并获得结果。但是当我试图从另一个 java 项目运行 .jpf 时,我无法这样做。我收到以下错误

请帮我解决这个问题。

更新:

我是否必须编写任何属性文件来提及我的测试类文件的类路径?如果我这样写,我如何将它们与 jpf.properties 联系起来?

0 投票
1 回答
456 浏览

java - 运行 Java 路径查找器

我在 eclipse 中运行 java path finder 并收到以下错误:

线程“主”java.lang.SecurityException 中的异常:禁止的包名称:java.lang

我应该怎么办?

0 投票
3 回答
293 浏览

java - 线程调度 - 共享数组

我需要两个线程来编写一个共享的整数数组。两个线程都需要写入该数组的所有元素。每个线程将写入 1 或 7,结果应类似于 171717171(或 71717171)。为此,我将第一个 Thread1 写入位置 0,然后等待。Thread2 现在写入位置 0 和 1,通知 Thread1,然后等待。Thread1 在位置 1 和 2 写入,通知 Thread2 并等待,等等。使用以下代码,我得到正确的输出,尽管当使用 JPF 运行时它发现死锁。它变得非常令人沮丧,因为我找不到它有什么问题。任何意见,将不胜感激。

ps:执行示例:

JPF 的错误快照如下:

0 投票
1 回答
143 浏览

jpf - 使用验证 API 时如何获取 jpf 启发式实时计数

我正在使用类似的东西

int y = Verify.getIntFromList(intArray); boolean z = Verify.getBoolean();

//对y和z做一些事情,即y和z的所有可能排列等。

我有兴趣获得 jpf 的实时计数,因为它通过每个排列。例如,如果 intArray 中有 10 个 int,并且我们知道 boolean 的 false 和 true,那么总共会有 20 个排列。但我想要实时计数,因为它正在逐个遍历所有 20 个。想在我的程序中使用这个实时计数。

希望我已经清楚地解释了我想做什么?

谢谢

0 投票
2 回答
412 浏览

c# - 是否有用于 C# 的模型检查软件(如 Java Path Finder)?

<编辑> 关于这个问题离题且过于基于意见,我会尽量说得更清楚。我的目标是不知道是否存在这样的工具,我对关于什么是最好的工具的意见不感兴趣。在我写这个问题的时候,我花了很多时间在互联网上搜索,发现只是旧的死项目,但是存在这样的 Java 工具,我不敢相信 C# 没有任何东西。我认为这个问题与编程(代码验证)有关,并不是真的在征求意见。此外,要找到这些信息仍然不容易,我认为我的回答可以帮助节省某人的时间。也就是说,我不是 stackoverflow 的专家,如果您仍然认为问题/答案不适合该网站,请随时删除它。< /编辑>

我找到了 Moonwalker http://fmt.cs.utwente.nl/tools/moonwalker/,但最后一次更新是在 2009 年完成的,我认为它不支持 .net4.5(而且文档记录很差)。

这个问题的答案建议将 CodeContracts 作为模型检查工具模型检查工具 c#,但我已经尝试使用它,但我认为它并不是一个模型检查器,与 Java Path Finder for Java 的方式不同。我穿了吗?可以像 JPF 一样使用吗?

我需要能够知道代码的某个部分是否以可能死锁的方式设计。假设这是学校的事情,即使我确定我的代码正在运行,我也必须对它进行模型检查。(是的,我们被允许并鼓励在互联网上查看)。