我的项目设定
我有以下项目设置:
\program.jar
\images\logo.png
在我的代码中,我使用相对URL引用图像"images/logo.png"
。
问题
如果我在目录中使用以下命令运行此程序:
c:\projects\program_dir\bin\>java -jar program.jar
然后一切正常,Java能够找到该图像。
现在,我的问题是,我需要能够从其他目录运行该程序。
c:\>java -jar c:\projects\program_dir\bin\program.jar
该程序已执行,但是现在所有相对URL不再起作用。
我需要的
如何计算program.jar文件的执行位置,以便可以将相对URL更改为绝对URL?
如果可能的话,我会做的是将图像与Jar一起打包。
这样,您不必担心Jar的发射位置。
然后,您将需要加载类似于以下内容的图像:
InputStream stream = this.getClass().getClassLoader().
getResourceAsStream("/images/logo.png");
问题内容: 我有一个简单的程序,需要显示图像。我知道如何从Eclipse运行代码,也知道如何从JAR文件运行,但是我想要一个在两种情况下都可以使用的解决方案。 Eclipse项目就是这样的: 可在Eclipse中运行的代码段: 适用于JAR的文件(全部在一个JAR文件中): 为了使单个代码在两种情况下都能正常工作,我需要更改什么? 问题答案: 将文件夹放在文件夹中,Eclipse会将图像复制到目标
我可以使用Picasso库从文件系统加载图像吗? 我正在使用让用户从他的图库中选择一张照片,然后想要显示所选图像。 我已经有了获取图像文件系统Uri的工作代码,但无法获取毕加索。load()方法工作。
我需要加载不同服务器上存在的类文件,并在类文件中执行方法。我不想使用超文本传输协议或RMI,但想应用这种方法。我正在看URLClassLoader,但没有得到任何地方。有人能给我一个从不同服务器加载类的例子吗?
问题内容: 我的项目具有以下结构: 我有一个文件,我想从单元测试中加载文件 我有此代码不起作用。它抱怨“没有这样的文件或目录”。 我也试过了 这也不起作用。它返回。我正在使用Maven构建我的项目。 问题答案: 尝试下一个: 如果上述方法不起作用,则已在以下类中添加了各种项目:1(代码在此处)。 以下是有关如何使用该类的一些示例:
我如何实现这一点?我尝试将OSGi捆绑包作为JarInputstream读取,并读取捆绑激活器完全限定的类路径,并尝试使用class.forName(“”)和转换到BundleActivator接口的类型来实例化它。但是在启动它的同时,它将bundle上下文作为参数来启动方法。 有没有办法,我可以把OSGi包实用地交给容器,这样它就会负责安装和启动包,然后我的UI就会自动在显示中获取这个新的包名。
我在maven项目的src/main/resource文件夹中下载了.sh文件,我正在通过下面的代码阅读它 如果我使用jar EX作为应用程序运行:- java-jar runscript.jar SCHEMA_NAME /users/ideaprojects/runscript/target/file:/users/ideaprojects/runscript/target/runscripts