草庐IT

uber-jar

全部标签

java - 可执行 jar 找不到属性文件

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

java - 找不到 request.getServletContext(),即使使用新的 JAR

我的编译器无法找到HttpServletRequestgetServletContext()方法。我没有做任何太复杂的事情:publicstaticvoidsetMySortedSet(HttpServletRequestrequest,SortedSetset){setMySortedSet(request.getServletContext(),set);}我尝试过的一些故障排除:发现该方法是在2.3中创建的,所以我包含了一个反射(reflect)该方法的JAR(并将其放在我的Eclipse构建路径中)我将JAR包含在我的build.xml类路径中。当我使用Eclipse时,找到了

java - 运行 JAR 文件是否需要 JRE 和 JDK?

可以在本地运行JAR文件。下一步是在另一台PC上运行它。问题是运行JAR文件是否需要JRE、JDK或两者? 最佳答案 JDK包含JRE。大多数程序只需要JRE(Java运行时环境),但有些程序在运行时需要编译器,在这种情况下,您需要JDK。如果您有JDK,则也不需要JRE。 关于java-运行JAR文件是否需要JRE和JDK?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/122

java - 如何判断一个 jar 是在 64 位还是 32 位系统上编译的?

我有一个jar,但我不知道它是用于64位系统还是用于32位系统的.jar。如何找到它?编辑:我的.jar具有native库依赖项。 最佳答案 Java字节码就是java字节码,它是用32位还是64位JDK构建的都没有关系,没有办法弄清楚这一点。我认为使用32位或64位编译的jar没有任何区别。它应该是机器无关的;除非你有一些原生库依赖或者java代码被直接编译成原生代码。 关于java-如何判断一个jar是在64位还是32位系统上编译的?,我们在StackOverflow上找到一个类似的

java - 在 Tomcat ClassPath 中包含外部 jar

在Tomcat中,我想在Web应用程序中使用一个jar。jar文件将存在于Tomcat目录之外。为了将jar文件包含在tomcat类路径中,我修改了TomcatHome/conf/catalina.properties以包含我的jar文件的绝对路径,如shared.loader=D:\jaa\MyJarFile.jar按照链接中给出的建议,http://www.mulesoft.com/tomcat-classpath但是它会抛出错误,java.lang.NoClassDefFoundError我也试过了,shared.loader=D:\jaa\*.jarshared.loader=

java - 我可以动态卸载和重新加载(相同的其他版本)JAR 吗?

我正在编写一个用于运行API单元测试的服务器程序(显示大量信息并提供Web访问以控制/监控整个事情)...此API在编译期间为服务器所知并提供作为一个JAR。能够比较不同版本的单元测试结果API(无需重启服务器),我希望能够卸载API的“当前”版本,并重新加载一个较新的(或较旧的)。我不想使用URLClassLoader并调用每一个方法名(使用getDeclaredMethod("someMethod")),因为服务器在很大程度上依赖于API,它会以这种肮脏的方式“包装”每个方法调用很复杂。我在想:既然JAR的所有版本的所有接口(interface)相同,我不能通过某种方式重新加载其他

java - 如何从多模块 Maven 项目构建可执行 jar?

我是maven的初学者,很多东西都不懂。我可以构建简单的可执行jar,但是如何将多模块maven项目构建到可执行jar对我来说很神奇。所以,我有三个项目。家长:4.0.0org.exampleTestpom1.0-SNAPSHOTMainDep还有两个子项目:Testorg.example1.0-SNAPSHOT4.0.0Mainorg.exampleDep1.0-SNAPSHOT和:Testorg.example1.0-SNAPSHOT4.0.0Dep主模块有主类和主方法(笑)publicclassMain{publicstaticvoidmain(String[]args){Hel

java - ojdbc6.jar 和 ojdbc7.jar 有什么区别?

ojdbc6.jar是否适用于JDK1.7和Oracle12c?我应该使用ojdbc7.jar吗?提前谢谢你。 最佳答案 包含的ojdbc6.jar是最新的12c驱动程序。ojdbc6.jar和ojdbc7.jar的唯一区别是后者是用Java7编译的。由于DBSolo至少目前使用的是Java6,所以它只能包含ojdbc6.jar。在功能方面,版本是相同的。Link 关于java-ojdbc6.jar和ojdbc7.jar有什么区别?,我们在StackOverflow上找到一个类似的问题:

java - Gradle - 排除文件与 jar 打包

我想从构建的jar中排除AMAuthN.properties。该文件不断出现在已编译jar的根文件夹中。该文件位于相对于项目文件夹根目录的AMAuthN\src\main\resources\AMAuthN.properties中。谢谢!applyplugin:'java'applyplugin:'eclipse'version='1.0'sourceCompatibility=1.6targetCompatibility=1.6test{testLogging{showStandardStreams=true}}//CreateasingleJarwithalldependencie

java - JAR list 文件 - 规范和实现之间的区别

我想将版本控制信息(可能还有一些关于jar的其他元数据)添加到我创建的库的jar中。但是,我不确定要使用什么属性。我发现specification以及documentation说明可以有一个Specification-Version和一个Implementation-Version(以及两者的标题和供应商)。但都没有正确解释规范和实现之间的区别。我也看了不同的例子。来自documentation的那个使用人类可读的名称作为Specification-Title,并使用包名称作为Implementation-Title。以点分隔的版本号用于规范版本,而简单的内部版本号用于实现版本。gra