从JVM外部访问绑定的Java文件

从JVM外部访问绑定的Java文件,java,Java,是否可以从JVM外部访问捆绑的Java文件?我的特别问题是,我的应用程序中捆绑了Ruby脚本,需要从命令行执行这些脚本 Ruby脚本位于src/main/resources,为了执行它们,我在Windows中使用了第三方exe,其中的最终命令类似于: 自定义\u ruby.exe-脚本路径\u到\u脚本 因此,我需要获得绑定Java资源的文件系统路径。这可能吗?如果不是的话,我打算用Java阅读Ruby脚本,然后简单地将其写入一个临时目录。如果有更优雅的解决方案,我想知道 谢谢。您正在寻找和。签

是否可以从JVM外部访问捆绑的Java文件?我的特别问题是,我的应用程序中捆绑了Ruby脚本,需要从命令行执行这些脚本

Ruby脚本位于src/main/resources,为了执行它们,我在Windows中使用了第三方exe,其中的最终命令类似于: 自定义\u ruby.exe-脚本路径\u到\u脚本

因此,我需要获得绑定Java资源的文件系统路径。这可能吗?如果不是的话,我打算用Java阅读Ruby脚本,然后简单地将其写入一个临时目录。如果有更优雅的解决方案,我想知道


谢谢。

您正在寻找和。签出一个示例。

什么是捆绑的Java文件?如果您指的是jar/zip中的文件,那么您当然可以从jar/zip读取该文件。不过,我认为没有一种内在的方式将文件系统指向jar/zip中的文件。除非有一些*nix魔法脚本。如果它只是一个Jar,那么我想我可以将它展开并找到文件。然而,我正在构建一个RCP(Eclipse平台)应用程序,所以最终的结果只是一个可执行文件。这个问题看起来很愚蠢,所以我一定是看错了。;-)显然,文件系统路径的粒度仅限于文件。如果我理解正确的话,你想用你需要的脚本进入OSGI包中jar的EXE。事实上,我最初的想法是这是不可能的,但这里有一些聪明人,所以我不想忽视一个显而易见的解决方案。我只是想在运行时将文件复制到一个临时目录中。请在将来提供有关您的问题的详细信息。删除我的答案as在注释中解释的条件下不适用。我猜OP指的是从VM外部访问jar文件。无论资源是什么,只要他必须从外部传递资源,他就必须获得资源url或流。这些是用于在java中获取资源的方法应用正如我所说,我可以这样做,然后将文件写入其他地方的临时目录。我希望避免这种情况。