Tag: jar

你能告诉运行时你是否在jar中运行java?

我有一个应用程序,我的一些用户从Eclipse运行,而其他用户使用jar文件运行它。 我希望在jar中运行时可以执行一些操作,但是我不希望它们在从Eclipse运行时完成。 有没有办法在运行时知道当前应用程序是否在jar中运行? 谢谢! Dikla

在Tomcat 5上控制WEB-INF / lib中jar的类路径排序?

我有一个在Tomcat 5.0中运行的遗留Web应用程序。 这个Web应用程序在WEB-INF / lib中有两个jar,比方说Foo-2.0.jar和Bar-2.0.jar 。 Bar-2.0.jar实际上包含了一个Foo-1.0.jar 。 Bar也是一个死的项目,意味着没有升级,没有来源,但对应用程序仍然很重要。 该应用程序的最新版本需要Foo-2.0.jar来处理其他一些内容。 在类路径中同时具有Foo-1.0.jar和Foo-2.0.jar会产生冲突,特别是ClassDefNotFound类型的错误,其中后来在2.0中添加的类无法在1.0中找到,等等。 在Eclipse中,简单的解决方案是右键单击您的项目 ,单击属性 > Java内置路径 > 顺序和导出,然后将Foo-2.0.jar移到Bar-2.0.jar之上,以便首先解决它。 如何在Tomcat的WEB-INF / lib中为jar实现这种类型的路径排序?

如何保护Jar文件不被反编译?

我正在使用java开发一个应用程序,但我不打算发布代码。 问题是,我测试了其中一个jar反编译器,它能够几乎完美地从我的jar文件中获取代码! 我的问题是如何在不从中提取代码的情况下分发我的jar文件?

为嵌入式Jetty指定JAR“resources / webapp”文件夹的ResourceBase的正确URL是什么?

我们想要一个简单的嵌入式Jetty服务器,其中包含JAR文件资源文件夹中的Web资源。 我们在JAR中有一些属性文件,并使用资源路径加载它们。 我们想要将Jetty资源库指定为: 资源/ webapp set:resource_handler。 setResourceBase (“webapp”) 通过正确的URL指向JAR文件中的该资源。 JAR文件中的文件夹。 这是一个简单的JAR文件(不是WAR,没有框架,没有Spring, 就像我们的 vanilla 一样 )。 初始测试继续抛出类似以下字符串的exception: webPath = “jar:file:!/webapp”; //…. runs the Jetty server … resource_handler.setResourceBase( webPath ); 虽然服务器似乎运行,但结果无法找到我的index.html。 ( 更新 :)这个例子只是从Jetty“ 嵌入式文件服务器 ”的例子。 在这种情况下,要求Jetty 资源库映射到JAR文件(完整URL): “jar子:文件:/ web应用/ index.html的”, 如下: resource_handler.setResourceBase(“ jar:file:!/ webapp ”); 而不是给出的例子: resource_handler.setResourceBase( “”); 我们希望这将浏览器URL映射为: 本地主机:8080 / index.html的 ……给… jar子:文件:/ web应用/ index.html的 […]

如何使用可执行文件夹包含文本文件

嗨伙计们菜鸟Java问题。 我有一个Java项目,我想包含一个带有可执行jar的文本文件。 现在,文本文件位于默认包中。 InputFlatFile currentFile = new InputFlatFile(“src / theFile.txt”); 我可以使用src获取该行的文件。 但是,这不适用于可执行jar。 有人可以让我知道如何使用可执行jar保留此文件,以便使用该程序的人只需单击一个图标并运行该程序。 谢谢!

可执行jar将找不到属性文件

我在程序中使用此代码来加载属性文件: Properties properties = new Properties(); URL url = new App().getClass().getResource(PROPERTIES_FILE); properties.load(url.openStream()); 代码在Eclipse中运行良好。 然后我将程序打包成一个名为MyProgram.jar的JAR,并运行它,我在第二行得到一个NullPointerException。 JAR不包含属性文件,它们都在同一目录中。 我正在使用Maven来创建JAR。 我该如何解决这个问题? 更新:我不想将属性文件添加到JAR,因为它将在部署时创建。

分析Java项目中的JAR依赖项

我正在寻找一个工具,它将根据编译的字节代码的静态分析向我展示我的Java项目中的JAR依赖关系图。 具体来说,我试图弄清楚是否有可以消除的未使用的JAR,但我也想更好地了解存在的依赖关系。 我没有使用Maven。 Dependency Finder很接近,但它处理的是包而不是JAR,并且似乎没有任何方法可以查询没有依赖的JAR。 有什么建议? 免费和开源首选。 谢谢!

获取JAR文件的位置

我正在尝试从运行Runnable JAR文件获取该位置。 我试过了 try { String path = new java.io.File(“.”).getCanonicalPath(); } catch (IOException e) { e.printStackTrace(); } 但那会回来: C:\Users\Kevin\Desktop/server/Server 而JAR文件位于 C:\Users\Kevin\Desktop 我也尝试过 return new file(Server.class.getProtectionDomain().getCodeSource().getLocation().getPath()); 但那会回来: C:\Users\Kevin\Desktop\server.jar/server/Server 所以我基本上希望JAR文件的路径没有文件名而不是ClassPath。 这样做的任何方式?

设置可执行Jar文件的图标

我有一个简单的可执行Jar文件。 我该如何为这个文件设置图标? 在我的情况下,我使用标准的Jar图标,我想改变。

从Tomcat 8.0.39升级到8.0.41会导致“无法扫描”错误

我有一个Spring Boot WAR应用程序在AWS上的Tomcat 8.0.39下完美地工作。 发出sudo service tomcat8 stop ,通过sudo yum update升级到Tomcat 8.0.41,并重启实例,应用程序无法启动。 在catalina日志文件中,我看到了大量类型的exception: 19-Feb-2017 10:27:15.326 WARNING [localhost-startStop-1] org.apache.tomcat.util. scan.StandardJarScanner.scan Failed to scan [file:/usr/share/java/tomcat8/javax. annotation-api.jar] from classloader hierarchy java.io.FileNotFoundException: /usr/share/java/tomcat8/javax.annotation-api.jar (No such file or directory) 以下是Tomcat抱怨的文件: javax.annotation-api.jar jsr181-api.jar jaxb-api.jar javax.xml.soap-api.jar FastInfoset.jar mimepull.jar saaj-impl.jar stax2-api.jar woodstox-core-asl.jar jaxb-core-2.2.10-b140802.1033.jar jaxb-api-2.2.12-b140109.1041.jar istack-commons-runtime-2.19.jar txw2-2.2.10-b140802.1033.jar hk2-core.jar class-model.jar config.jar auto-depends.jar javax.inject.jar hk2-api.jar osgi-resource-locator.jar […]