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

在类路径上启动4J和外部文件

黄正浩
2023-03-14

我正在开发一个java应用程序,它使用gradle和launch4j插件创建一个windows exe包装器。我需要编写一个“help”框架,以便在应用程序中向用户显示帮助文档,鉴于类路径中的唯一项是lib文件夹中的各种jar文件,我不确定有什么方法可以做到这一点。

我计划为帮助文件制作HTML文档,并通过JavaFX WebView控件将这些文档加载到GUI中。考虑到这一点,我在应用程序发行版中有以下目录结构:

root
  |
  + config
  + help
  + lib
  - Application.exe
  - LICENSE

假设我可以按计划继续这样做,那么如何只使用gradle配置脚本(而不是手动编辑launch4j.xml文件)将help和config文件夹放到launch4j的类路径中。如果不能做到这一点,是否有其他推荐的方法可以在类路径中包含外部文件,以便使用classloader.getSystemResource()安全地引用它们?

共有1个答案

姚文轩
2023-03-14

您应该将help(和config)目录作为资源放入JAR中。要使用Gradle,请将这些目录移动到src/main/resources目录。从那里,您可以通过getClass().getResource()/getClass().getResourceCestream()访问它们的内容。

 类似资料:
  • 我们使用Spring Boot,我创建了一个WAR,而不是一个JAR,以部署在普通的Tomcat服务器上。似乎所有的工作都很好,只是上下文路径设置不正确。我的index.html中的任何相对路径都不工作。 在浏览器中加载应用程序时, 试图从http://localhost:port/app.min.css而不是http://localhost:port/contextpath/app.min.cs

  • 我在两个独立的Web应用程序中工作,一个后台和前端应用程序。有趣的是,当我运行后端时,我没有任何问题。但在前端,我遇到了以下错误: 两者都在同一个Tomcat上运行。我的同事有相同的代码,它工作正常:-s

  • 在Spring-Boot应用程序中,可以使用中的属性来选择上下文路径,但是由于我使用的是外部Tomcat8,因此没有使用该属性。 因此,我查看了tomcat-8文档,其中指出: 如果要使用与基文件名无关的上下文路径部署WAR文件或目录,则必须使用以下选项之一来防止双重部署: null null

  • 问题内容: 因此,我正在运行此javascript,并且除背景图片的路径外,其他所有功能都正常运行。它可以在我的本地ASP.NET Dev环境中使用,但是当部署到虚拟目录中的服务器时则无法使用。 这在外部.js文件中,文件夹结构为 然后这就是js文件所在的位置 我已经尝试过使用,但也不起作用;但是,如果使用,它似乎可以在服务器上工作。 基本上,我希望具有与ASP.NET tilda-相同的功能。

  • 我看到了很多代码和示例,但我的应用程序还不能正常工作,我想在文件夹,如存储/模拟/0/Android/data/ir。esfandune。mohsen/files/Download/cnt\u imags/images/n1/n1(18)。jpg,我在清单中定义提供者: 和XML: 我的代码是: 但是当发送到其他应用程序时,不要分享任何东西