草庐IT

java - 读取 jar 包中的 xml 文件

这是我的结构:com/mycompany/ValueReader.classcom/mycompany/resources/values.xml我可以在我的Eclipse项目中读取该文件,但是当我将它导出到.jar时,它永远找不到values.xml。我尝试使用ValueReader.class.getResource()和ValueReader.class.getResourceAsStream()但它不起作用。这里有什么问题?如何为我的values.xml获取文件对象?B. 最佳答案 您无法获取File对象(因为一旦它在.jar

java - 从 WAR 中的其他 Maven 模块导入 Spring bean?

我有一个新的Web应用程序,它作为多模块Maven项目的一部分打包为WAR。此WAR的applicationContext.xml引用从“service”模块导入的beans,后者又从“dao”模块导入beans。applicationContext.xml中的导入语句如下所示:service.xml文件中的内容如下所示:SpringSTS和Eclipse都没有在我的bean文件中显示任何警告或错误。我到处都引用了进口bean。Maven构建工作正常,DAO集成测试全部通过(他们使用bean)。我还没有任何服务集成测试。但是当我在Jetty中启动WAR时出现错误:Errorcreati

java - 如何分发 Java 应用程序

我想了解分发Java应用程序的各种选项。我知道你可以分发源代码让用户自己编译,或者提供make文件等。打包成JAR,并有自解压包和(我敢肯定,还有无数其他方式)我希望对最常见的选项(以及我没有想到的选项)进行一些解释,特别是,它们是否要求用户拥有JVM,或者是否可以将其与一个捆绑在一起-就我个人而言'我不太喜欢由于缺少JVM而停止的安装程序。谁说应用程序需要安装程序,独立解决方案也很好。此外,值得一问的是如何处理跨平台分发、exe与dmg等...我提出这个问题的主要动机(我很欣赏这个问题与其他问题相似)是为了找到不需要用户已经安装JVM的解决方案-但为了完整性,我一般会问。非常感谢

java:在一个 webapp 中使用同一个库的两个版本

我面临以下问题:我的网络应用程序中有一个模块需要jaxb1.x,而另一个模块需要jaxb2.x。第一个模块不适用于新版本的jaxb,反之亦然。如何在一个项目中使用这两个jar?谢谢。 最佳答案 对于常规应用程序,通常非常不同的版本使用不同的包名称。如果是这种情况,您可以同时使用它们而不会出现问题。但是,如果它们相同,您可以使用jarjar重命名包。但是,由于您使用的是Web容器,因此每个应用程序都应使用您部署的版本,而不是其他版本。即网络容器为您解决。OSGi是另一个容器,它可以更明确地管理版本并让您更好地控制这些问题(但我相信您正

java - 当 jar 文件从 URL 作为 InputStream 打开时,JarEntry.getSize() 返回 -1

我正在尝试从JarInputStream读取文件,文件大小返回-1。我正在从URL作为inputStream访问Jar文件。URLConnectioncon=url.openConnection();JarInputStreamjis=newJarInputStream(con.getInputStream());JarEntryje=null;while((je=jis.getNextJarEntry())!=null){htSizes.put(je.getName(),newInteger((int)je.getSize()));if(je.isDirectory()){conti

java - 让 Maven 复制构建 jar 中的其他文件(不是资源,而是任何包中的任何文件)?

我有一个包含一些ruby​​文件(*.rb)的包org.myapp.mypackage,我需要将它们包含在生成的构建jar中同一个包以及java类文件。我如何告诉我的friendMaven这样做?注意:不,我无法复制到其他任何地方,但感谢您的建议。:) 最佳答案 您可以修改的资源部分POM的一部分:src/main/resourcesfalsesrc/main/java*.rb**/*.java或者,其他答案(在src/main/resources中创建相同的包结构)也有效。 关于jav

java - 使用 Eclipse 将 list 添加到 JAR 时 header 字段名称无效

我正在使用eclipse开发一个javaapplet,需要将一个外部jar添加到list中的Class-Path。我使用记事本创建了list文件,使用了UTF-8编码并在末尾添加了换行符,但是在创建jar期间尝试添加一个简单的示例list会导致Eclipse出现以下错误。invalidheaderfieldname:ï>¿Manifest-Versioninvalidheaderfieldname:ï>¿Manifest-Version我感觉这是一些简单的配置问题,但我不知道是什么。为了测试它,我的list由单行组成Manifest-Version:1.0

java - 在 UBUNTU 中添加 JAR 类路径

这可能是一个常见问题,但我无法在UBUNTU中为JAR文件添加类路径。我在下面给出了我所知道的所有细节:java位于:whichjava命令的o/p是-/usr/bin/javasudovim/etc/bash.bashrcexportCLASSPATH=$CLASSPATH:/downloads/aws-java-sdk-1.3.24/lib/aws-java-sdk-1.3.24.jarps:downloads文件夹在根目录下sudovim/etc/environmentCLASSPATH="/usr/lib/jvm/jdk1.7.0/lib:/downloads/aws-java

java - Maven:从构建中排除测试

我在项目的src/test/java文件夹中有一些类用作测试。当我使用标准Maven编译插件运行Maven时。这些项目被编译成.class文件,并包含在打包编译代码的jar中。在运行maven和构建我的版本之前,我已经为自己创建了这些测试以在eclipse中运行。它们只是完整性测试,不应包含在构建中。我不想将它们放在一个单独的项目中,因为对我来说,它们在这里很有意义。我如何告诉Maven我不希望它编译/包含该目录中的文件?我相信maven编译器插件生成的jar如下:maven-compiler-plugin1.61.6 最佳答案 我

java - Eclipse:有没有办法快速导出 JAR

所以这似乎有点含糊,“快”有多快等等。嗯,我只是想知道是否有比以下更快的方式导出JAR文件的方法:文件->导出->JAR文件等等等等比如我可以Ctrl+Drag到资源管理器并导出项目标题和.jar吗? 最佳答案 如何添加自定义快捷键Toaddorchangeshortcutsopen:Windows->Preferences->General->Keys.HereyoucanfindalltheEclipsecommandsandtheirassociatedshortcutkeys.Reference您可以在Eclipse中添加自