当前位置: 首页 > 知识库问答 >
问题:

将外部jar文件包含到Rhino shell中的资源路径中

西门嘉澍
2023-03-14

资源路径(C:\ti\ccsv5......launcher_1.3.0.v20120522-1813.jar)是我键入-js:>print(system.getproperty(“java.class.path”))时显示的路径;

我不明白如何将jar文件添加到资源路径中,我试图通过命令提示符:java-cp“path of jar”来完成它。包含main的类的名称-->既然Rhino负责从javascripts到类的转换,我如何理解包含main的类的名称?提前谢了。索希尼。

共有1个答案

淳于祺
2023-03-14

我不认为这个问题与犀牛有特别的关系。相反,这是Linux和Windows系统库之间的区别。

位于https://github.com/twall/JNA/blob/master/www/gettingstartd.md的JNA入门文档提供了以下示例:

package com.sun.jna.examples;

import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.Platform;

/** Simple example of JNA interface mapping and usage. */
public class HelloWorld {

    // This is the standard, stable way of mapping, which supports extensive
    // customization and mapping of Java to native types.

    public interface CLibrary extends Library {
        CLibrary INSTANCE = (CLibrary)
            Native.loadLibrary((Platform.isWindows() ? "msvcrt" : "c"),
                               CLibrary.class);

        void printf(String format, Object... args);
    }

    public static void main(String[] args) {
        CLibrary.INSTANCE.printf("Hello, World\n");
        for (int i=0;i < args.length;i++) {
            CLibrary.INSTANCE.printf("Argument %d: %s\n", i, args[i]);
        }
    }
}

加载的本机库取决于运行程序的平台:对于Windows,您需要使用“MSVCRT”(Microsoft Visual C++运行时)库;对于其他人,使用'C'库。

PS C:\Users\jharig\workspace\JNATest> java -cp ".\jna-3.5.2.jar;.\platform-3.5.2.jar;.\js.jar;.\js-14.jar" org.mozilla.javascript.tools.shell.Main
Rhino 1.7 release 4 2012 06 18
js> var c = Packages.com.sun.jna.NativeLibrary.getInstance("c");
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'c': JNA native support (win32-amd64/c
.dll) not found in resource path (.\jna-3.5.2.jar;.\platform-3.5.2.jar;.\js.jar;.\js-14.jar)
        at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:220)
        at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:322)
PS C:\Users\jharig\workspace\JNATest> java -cp ".\jna-3.5.2.jar;.\platform-3.5.2.jar;.\js.jar;.\js-14.jar" org.mozilla.javascript.tools.shell.Main
Rhino 1.7 release 4 2012 06 18
js> var c = Packages.com.sun.jna.NativeLibrary.getInstance("msvcrt");
js> var f = c.getFunction("printf");
js> f.invoke(["Hello World\n"]);
Hello World
js>     
 类似资料:
  • 问题内容: 我有一些可怕的行为。我有以下Maven配置: 这将创建包含所有类的JAR文件,但我在类路径中有一些资源也应包括在内。如果我将参数放在阶段的前面,那么我的所有资源都会包括在内。如果我使用运行Maven ,则不包含任何资源。我的资源位于(不是通常的目录)下。 问题答案: 目标配置中未正确定义资源的源目录。同样,outputDirectory元素将资源放置在dir中,默认情况下将其打包。试试

  • 我有一些可怕的比目鱼。我有以下Maven配置: 这创建了包含所有类的JAR fie,但我在类路径中有一些资源也应该包括在内。如果我将参数留在phase前面,那么我的所有资源都包括在内了。如果我使用运行maven,则不包含任何资源。我的资源在(不是通常的目录)下。

  • 我有第三方库,它是通过将属性文件放在类路径的根上来配置的。该库正在使用加载该文件。因为它是第三方,所以它是不可修改的。我已将该配置文件放入外部目录中(不要与Maven或Gradle目录结构中的相混淆)。 目录结构是这样的。 如何运行/配置Spring boot以将目录的内容包含到类路径中,从而使能够工作? 编辑: 只需要澄清一句--将配置文件放在项目资源中(沿着源)是不完整的。我想保持配置外部化。

  • 所以我在堆栈交换上尝试了各种读取此问题的各种修复,大多数说使用方法,我已经完成了。这是我的Jar资源输入法。 这将在我的ImageLoader类中使用。 并使用将图像加载到主程序中 现在在eclipse中,游戏运行并加载所有图像非常好。但我想做的是将其导出到Jar,我使用一些教程完成了这一点,并成功地将其导出到包含我使用的图像的资源文件夹中。但是当我尝试运行. jar文件时,cmd行中会弹出此错误

  • 在Quarkus中,要将随机文件包含为类路径资源,我们使用<code>Quarkus.native.resources。包括(https://quarkus.io/guides/writing-native-applications-tips#including-资源)。 如何在文件系统中包含文件?即使用读取的内容。 如果我们使用Jib,我们只需将这些文件放在< code>src/main/jib

  • 我创建了一个spring boot应用程序,它读取一个excel文件,以便在前端显示数据,因此基本上它是持久数据的来源。我能够从eclipse正确地运行,但是当我创建一个spring boot jar并从命令行运行它时,它会失败,因为jar中没有包含文件。 我尝试了两个位置src/main/resources和/src/main/webapp/WEB-INF/external/,但在这两种情况下都