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

是否有任何文件在构建时从Jar中排除?

梁丘经艺
2023-03-14

我有一个java源文件位于src/com/form/myClass

我在同一个文件夹中还有一个javascript文件。

private static final File jsScript = new File("src/com/example/myClass/controllerScript.js");

我的项目读取js文件的内容,并在测试中成功完成,即在IDE中运行文件。

但是当我构建并运行我的jar时,好像javascript不再包含在内,我必须特别包含非java文件吗?文件的位置在构建时会移动还是变得相对。

唯一排除的选项是“***.java,***.form”

我正在运行网豆,除了标准的清洁/构建光盘之外,我的罐子,我不相信我必须为图像做任何特定的事情。

共有1个答案

彭高畅
2023-03-14

文件在那里,你可以简单地打开你最喜欢的zip工具的罐子,自己看看。

问题在于你发布的代码片段;您打开文件时,就像它存在于硬盘驱动器上一样,而您应该将其作为类路径上的资源打开,因为它现在在您的jar中。

尝试从你的MyClass代码:

InputStream is = getClass().getResourceAsStream("controllerScript.js");
// read data as per usual, don't forget to close the input stream

这在MyClass中特别有效,因为控制cript.js文件在同一个包中。或者,这可以在应用程序jar中的任何类中工作:

InputStream is = getClass().getClassLoader().getResourceAsStream("com/example/myClass/controllerScript.js");
 类似资料:
  • 我用NetBeans中的GUI做了一个项目。GUI有一个名为GIFL2的标签,当按下按钮时,它会通过 问题是,当我构建项目并打开jar文件时,图像不会加载。我最初认为这是因为图像在img文件夹中,而img文件夹又在SRC中。因此,文件夹的相对路径是src/torrehanoirecursion/img 但是,我将所有的映像移到src本身,没有文件夹,因为我读到java可能会因为它们不是src的一部

  • 我正在尝试创建一个Jar用作Maven存储库 我已经构建了所有内容,所有类都准备好了。唯一的问题是gradlew./build包含了测试文件夹中的类和资源。我不希望这些作为jar的一部分,尤其是正在测试的资源文件。 因此,我的问题是,如何从jar构建任务中排除这些文件。我试过了 在我的身体里。格拉德尔:但那没用 我是Gradle和Maven的新手,所以任何洞察力都会有帮助。谢谢! 参考材料 bui

  • 那么如何防止插件jar进入war文件呢?多谢了。

  • 问题内容: 我的webapp允许用户上传jar文件。但是,将jar文件上传后,它已损坏。我已经通过比较md5校验和(winmd5free)对此进行了验证。 上传的jar文件看起来“正常”和“正确” 与原始文件相比,文件大小看起来不错(在KB级别) 我可以使用7z打开上载的jar文件并查看其内容(资源和类文件),并且与原始文件相比,一切都相同 当我打开上载的jar文件(使用Notepad ++)时,

  • 我想从OkHttp库源代码构建一个jar文件,以便在我的android应用程序中使用快照版本。我不知道怎么做。 欢迎任何帮助。谢了。

  • 我想通过liquibase-maven-plugin运行一个liquibase更新,但是changeset yml文件在一个。jar中,我通过依赖项拉入这个文件。 当我用TotalCommander打开。jar时,它具有以下结构:xy.jar/changelog/changeset.yml。