Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.UnsatifiedLinkError:java.library.path中没有frmjapi_Java_Eclipse_Jar_Unsatisfiedlinkerror_Java.library.path - Fatal编程技术网

java.lang.UnsatifiedLinkError:java.library.path中没有frmjapi

java.lang.UnsatifiedLinkError:java.library.path中没有frmjapi,java,eclipse,jar,unsatisfiedlinkerror,java.library.path,Java,Eclipse,Jar,Unsatisfiedlinkerror,Java.library.path,我有一个关于eclipse的项目,我正在工作,我在一台XP 32位机器上使用它,我想把这个项目转移到我的PC上,它是Windows7 64位的。我可以无错误地编译我的项目,但当我运行它时,我在线程“main”java.lang.UnsatifiedLinkError中得到错误异常:java.library.path中没有frmjapi。 我在其他帖子中查找了这个错误,但大多数帖子都是关于本机库的,我的项目只包含这个1jar文件。我多次尝试删除项目并将其添加到构建路径,但问题仍然存在。 这个问题背

我有一个关于eclipse的项目,我正在工作,我在一台XP 32位机器上使用它,我想把这个项目转移到我的PC上,它是Windows7 64位的。我可以无错误地编译我的项目,但当我运行它时,我在线程“main”java.lang.UnsatifiedLinkError中得到错误
异常:java.library.path中没有frmjapi
。 我在其他帖子中查找了这个错误,但大多数帖子都是关于本机库的,我的项目只包含这个1jar文件。我多次尝试删除项目并将其添加到构建路径,但问题仍然存在。
这个问题背后的原因可能是什么?

原因显然是您的后台库在运行时依赖于本机库,因此,您需要按照错误消息中的建议,将文件
frmjapi.dll
的根目录添加到
java.library.path
,方法是在VM参数中添加
-Djava.library.path=c:\some\path\to\my\dll\parent\dir
(参见运行配置)

什么是
frmjapi.dll

frmjapi.dll
是一个来自Oracle公司的文件,它是Oracle的一部分 开发者
frmjapi.dll
位于
doracledev10g\bin\frmjapi.dll


这些错误通常在处理本机/特定于平台的应用程序(如图形或多媒体应用程序)时出现。您的代码可以很好地编译,因为在编译时它只查找直接的java依赖项,而不查找所有运行时依赖项,如.dll文件。正如您所说,项目已经从32位平台转移到64位平台。确保在eclipse中安装并链接了正确的java版本。另外,请参阅包含的jar文件所需的依赖项(它是否支持64位机器上的功能)。最后,尝试从IDE外部运行项目(确保它具有所有必需的权限)

另一个解决方案(与Oracle窗体的Jdapi问题相关)是在路径中包含文件夹
%Oracle\u HOME%\bin
。 然后,您不需要向java命令行提供
-Djava.library.path
参数

在运行Jdapi Java程序之前,我在.bat文件中使用了以下内容:

set ORACLE_HOME=C:\Oracle\Forms12c\products\Oracle_Home
:: Only adds ORACLE_HOME\bin to the PATH if not already present
for %%X in (frmjapi.dll) do (set FOUND=%%~$PATH:X)
if not defined FOUND set PATH=%ORACLE_HOME%\bin;%PATH%

我试图在Windows10中运行jdapi,但遇到了这个问题。我收到的错误消息是frmjapi.dll的“找不到依赖库”

我对这个问题的解决办法如下:

  • 确保
    %ORACLE\u HOME%/bin
    位于
    路径中。(这可以解决“java.library.path中没有frmjapi”的问题)
  • 安装。(这可以解决“调用frmjapi.dll无法找到依赖库”的问题)
  • 有关dll缺失问题的更多讨论,请参阅


    希望这有帮助。

    我找到了dll文件,但现在我遇到了另一个错误,我想是因为dll是32位的,而我的电脑是64位的。也许你可以问一个不同的问题