假设我有500个jar文件链接到我的程序,总计超过500MB(所有jar的大小,而不是每个jar的大小)并且我的程序调用了其中一个中的类。Java是如何通过jars查找一个类的,这样的效率如何?上)?O(log(n))? 最佳答案 Java在jar的内部目录结构中查找与完全限定名称完全匹配的内容。它看起来;它不搜索。如果类路径上有500个jar文件,Java将按照指定的顺序一个一个地查找它们,直到找到匹配项。如果包含给定类的jar是最后一个,Java将查找500个jar文件。所以我猜是O(n)。更新:上述行为是默认行为。然而,正如H
我熟悉.Net和什么是程序集-但遗憾的是我的Java知识并不那么丰富。我知道Java和.Net是不同的“世界”(可能就像比较苹果和梨)但是JAR和.Net程序集是大致等价的概念吗?编辑:根据初始响应更新我的解释是,是的,它们有相似之处:两者都可以包含资源和元数据。但有一些核心差异:.Net程序集已编译,而JAR未编译。制作Java应用程序不需要JAR文件;.Net应用程序需要.Net程序集。[现在不是打宗教war的时候-我想知道我对.Net程序集的理解是否/有多少可以应用到Java中(也许这甚至会有所帮助Java人走另一条路)。] 最佳答案
使用EclipseWTP和m2eclipse时,可以将所有依赖项复制到WEB-INF/lib(通过在部署程序集中添加“maven依赖项”)。然而,范围为“provided”的依赖项也会被复制,例如el-api和jsp-api。这会扰乱容器并且无法启动。不复制“提供的”jar的任何解决方案? 最佳答案 您必须安装m2eclipse-wtp它是m2eclipse的额外插件。它将为您完成这项工作。安装m2eclipse-wtp后,右击project--->Maven-->UpdateProjectConfiguration,你会发现所提供
我有一个旧的J2EE应用程序(J2EE1.3),它打包成一个EAR,在EAR中,有WAR和EJBJAR。现在,其中一个EJBJAR需要引用一些第3方库JAR,那么打包这些JAR的最佳位置是什么?如何打包? 最佳答案 它们放在ear文件的根目录中,或者您可以创建一个lib目录来存储它们。任何需要引用它们的项目(EJB或WAR)都必须将它们包含在类路径:list文件。耳内容物-log4j.jar-lib-commons-lang.jar-MyEJBProj.jar-MyWAR.warMyEJBProj内容-classes-META-IN
在我的应用程序中,我使用Java、Hibernate。日志记录:我使用logback.xml谁能建议是否有办法从Hibernatejar中禁用以下特定类的日志。要从特定类中删除的LOGGER:错误o.h.e.jdbc.spi.SqlExceptionHelperlogback.xml:%d{yyyy-MM-ddHH:mm:ss}[%thread]%-5level%logger{36}-%msg%n 最佳答案 将以下内容添加到您的logback.xml配置文件中:指令:level="OFF"告诉Logback禁用给定记录器的所有日志输
这就是我所需要的。其他详细信息:我有一个src/bootstrap/java文件夹和常规src/main/java文件夹。出于明显的原因,每个人都需要去一个单独的jar。我能够使用this生成Bootstrapjar:maven-jar-plugin2.3.1only-bootstrapjarpackagebootstrapsun/**/*但是常规jar仍然包含Bootstrap类。我正在用thisanswer编译Bootstrap类.在没有引导类的情况下生成myproject.jar有什么好处吗? 最佳答案 您必须使用“defau
我正在从引用一些外部jar文件的批处理文件运行java程序。如何将这些jar文件包含在我的批处理文件中。请帮忙 最佳答案 看Sun的官方文档:Settingtheclasspath了解您的选择。一种快速的方法是在-cp之后包含您的JAR:在Windows上java-cpC:\java\MyClasses\myclasses.jar;C:\java\MyClasses\myclassesAnother.jarutility.myapp.Cool在Linux/Unix上java-cp/opt/thirdparty/myclasses.j
我是EJB3的新手,对Google没有提供满意答案的一些疑问感到很困惑。我正在尝试创建一个框架,其中包含我的其他应用程序可以使用的一些基类和一些实用方法。所有应用程序都将部署在同一台服务器上。当我试图在eclipse中创建一个新的EJB3.0项目时,它会询问我是否也想创建一个客户端jar。这个客户端jar有什么作用?我的ejbmodule作为EAR文件的一部分添加。那么我真的需要这个客户端jar吗?我需要同时创建本地和远程接口(interface)吗?或者只是远程接口(interface)就可以了?我决定将所有接口(interface)保留在名为projCommon的项目中,并将bea
是否可以在pom中定义一个依赖项,使其具有系统范围但指向多个jar?我敢肯定这很不正统,但是,我只是想知道这是否可能。所以像这样:foofoo1.0system${basedir}/lib/foo/*.jar 最佳答案 据我了解,您正在寻找一种简单的方法来管理对本地jar文件的依赖项(在您的案例中位于“${basedir}/lib/foo/”文件夹中)。使用addjars-maven-plugin很简单。只需将以下声明添加到您的pom中:com.googlecode.addjars-maven-pluginaddjars-maven
我觉得我的问题很简单。然而,令人惊讶的是我找不到任何简单的解决方案。我正在Netbeans上开发一个开源Java库项目,和其他许多人一样,我想将它作为binary.jar、source.jar和javadoc.jar发布。有没有办法在Netbeans上自动生成它们?我知道maven可以做到。但是学习曲线似乎太长了。有一个类似的问题,但唯一的答案没有用:AutomaticallygeneratingsourceanddocjarsinNetbeans 最佳答案 这是我最后想出的解决方案。它使用Ant并生成javadoc和源jar。然后