Tag: jar

从jar导入java库类时,这被认为是静态链接吗? 还是动态的?

说我的lib文件夹中有jcifs-1.3.14.jar,我有一个从库中导入并使用类的类: import jcifs.smb.*; NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(domain, user, pass); SmbFile file = new SmbFile(path, auth); // do some operations with the file here 当以这种方式使用库时,它被认为是:A)静态链接或B)动态链接或C)其他什么?

在maven项目中包含本地jar文件 – 找不到文件

所以我试图将两个本地jar文件包含到我拥有的Maven项目中,但没有这样做。 我已经尝试过在这些线程中完成解决方案: 1 2但它仍然没有真正起作用。 以下是我的pom.xml文件的关键部分: local-maven-repo file://${basedir}/resources 然后依赖: edu.mlab.jar1 jar1_local 1.0 edu.mlab.jar2 jar2_local 1.0 这两个jar文件分别包含edu.mlab.jar1和edu.mlab.jar2包声明,所以这就是我想要它们的地方。 jar文件位于resources文件夹中,位于基目录下。 这就是设置。 现在,当我尝试mvn package (在mvn clean )时,我收到以下错误 [ERROR] Failed to execute goal on project PROJECT: Could not resolve dependencies for project edu.mlab.project:PROJECT:war:1.0-SNAPSHOT: The following artifacts could not be resolved: edu.mlab.jar1:jar1_local:jar:1.0, edu.mlab.jar2:jar2_local:jar:1.0: Failure to find edu.mlab.jar1:jar1_local:jar:1.0 in file:///Users/mlab/Desktop/2016/project_web/resources was cached in […]

Java SPI – ServiceLoader – 将多个JAR添加到APP类路径

我在项目中实现此逻辑时遇到问题。 我使用ServiceLoader,我不知道,或者它是否可能,但我想动态地将JAR添加到app的某个已知目录,因此应用程序可以在启动时加载它们。 我唯一获得的是我知道如何创建可扩展的ONE JAR(使用META-INF / services),因此我可以为此JAR添加越来越多的提供者和类(实现)。 JAR包含在类路径中,就像普通的库一样,所以app知道它。 我想要实现的目标:我不想扩展一个jar文件,但我希望通过添加更多的jar来扩展app,例如插件与提供者(服务),但我不知道如何。 感谢帮助!

unix中的java classpath

我可以使用以下设置在cygwin + windows中运行java(sw / jar目录有几个jar文件,我从java命令行中选择相关的一个): CLASSPATH=.;C:\sw\java_6u35\lib\\*;C:\sw\jar\\* java org.antlr.Tool Calc.g 但是在linux中运行时遇到以下问题: (1)我无法在类路径中设置目录名,以下行报告错误: setenv CLASSPATH .:/sw/jdk1.6.0_35/lib/\*:/sw/jar/* (2)当我用-jar选项明确地运行时,我仍然会收到错误: java -jar /sw/jar/antlr-3.4.jar org.antlr.Tool Calc.g error(7): cannot find or open file: org.antlr.Tool 但是,这个class确实存在。 当我做jar tf /sw/jar/antlr-3.4.jar ,我得到: … org/antlr/Tool.class 所以我的问题是:(a)如何在unix中指定我的jar目录是包含几个jar文件的xxx,以及(2)如何在运行时从这个dir中选择相关的jar?

导入外部jar后的NoClassDefFoundError

导入JSoup之后,每次运行第一行Jsoup代码时,应用程序都会给我这个 09-16 16:43:22.567: E/AndroidRuntime(1085): FATAL EXCEPTION: main 09-16 16:43:22.567: E/AndroidRuntime(1085): java.lang.NoClassDefFoundError: org.jsoup.Jsoup 09-16 16:43:22.567: E/AndroidRuntime(1085): at me.masterejzz.testapp.StartingPoint$1.onEditorAction(StartingPoint.java:55) 09-16 16:43:22.567: E/AndroidRuntime(1085): at android.widget.TextView.onEditorAction(TextView.java:4185) 09-16 16:43:22.567: E/AndroidRuntime(1085): at com.android.internal.widget.EditableInputConnection.performEditorAction(EditableInputConnection.java:138) 09-16 16:43:22.567: E/AndroidRuntime(1085): at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:297) 09-16 16:43:22.567: E/AndroidRuntime(1085): at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:77) 09-16 16:43:22.567: E/AndroidRuntime(1085): at android.os.Handler.dispatchMessage(Handler.java:99) 09-16 16:43:22.567: E/AndroidRuntime(1085): at android.os.Looper.loop(Looper.java:137) 09-16 16:43:22.567: E/AndroidRuntime(1085): at android.app.ActivityThread.main(ActivityThread.java:5103) 09-16 16:43:22.567: E/AndroidRuntime(1085): […]

maven依赖关系和手动添加WEB-INF / lib中的jar之间的区别

我是编程Web应用程序的新手,到目前为止,我正在使用带有Jetty服务器的eclipse / maven-setup来开发java web应用程序。 然而,我不明白的一件事是包括外部jar子的动态。 许多教程和SO上的Q&A声称它足以将jar添加到WEB-INF / lib。 其他解释我如何在pom.xml中将它们作为依赖项添加。 我发现有时第一个解决方案有效,有时我还需要添加依赖项。 我不知道为什么会这样。 此外,在添加依赖项时,我已手动将外部.jars复制到与已经存在的存储库资源匹配的文件夹中。 我无法相信这是正确的做法,但它一直在为我而努力。 所以我的问题是: 我是否正确,jar子需要双重引用,或者我是否正在解决可能的其他问题? 两种导入/引用方法有什么区别? 奖金问题:为什么以下错误会出现在日食中? 这些是指我在pom.xml中标记为依赖项的所有jar。 Web应用程序应该运行,尽管在一段时间后看似随机的不同运行时错误。 重启服务器此刻修复了它。 Description Resource Path Location Type Missing artifact standard:standard:jar:1.1.2 pom.xml /WebApp line 1 Maven Dependency Problem Missing artifact jstl:jstl:jar:1.2 pom.xml /WebApp line 1 Maven Dependency Problem Missing artifact junit:junit:jar:4.8.2 pom.xml /WebApp line 1 Maven Dependency Problem […]

Maven:将第三方jar的导出jar添加到manifest中的classpath

我正在使用Eclipse开发Java maven项目,并希望导出包含所有引用库的jar 。 这些引用的库属于以下两个类别之一: 它们是pom.xml中的显式(或隐式) 依赖项 我有一些库不能用作maven工件并将它们放在/ lib中(并将它们添加到Eclipse中的构建路径中) 有maven-assembly-plugin ,适用于1)。 但是,我无法找到包含非maven依赖项的maven插件,例如”all jars in /lib” 。 然后是Eclipse FatJar插件,这种插件有效,但自2009年以来一直没有更新,因此它似乎没有维护。 另外我更喜欢我可以在pom.xml直接指定的导出方法。 任何人都可以指向我的maven插件或类似的东西,以导出所有引用的库 ,包括案例2)? 这只需要将它们放在jar中并在manifest的类路径中引用它们。 谢谢!

H2嵌入DB,弹出启动错误自动配置

我正在尝试使用带有弹簧靴的H2嵌入式DB。 但是,它会引发以下错误。 2016-10-19 22:05:25.818 INFO 14104 — [ main] com.example.SpringDemoApplication : Starting SpringDemoApplication on BOM1-LPMP12AS7U with PID 14104 (D:\workspace\eclipse\SpringDemo\target\classes started by e3028311 in D:\workspace\eclipse\SpringDemo) 2016-10-19 22:05:25.822 INFO 14104 — [ main] com.example.SpringDemoApplication : No active profile set, falling back to default profiles: default 2016-10-19 22:05:25.904 INFO 14104 — [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@543e710e: startup […]

从外部Jar文件中读取文件?

我正在尝试使用java从外部jar中读取文件。例如,我有两个jar文件。 一个是“foo.jar”,另一个是“bar.jar”。 “bar.jar”里面是文件“foo-bar.txt”。 如何使用“foo.jar”中的代码从“bar.jar”内部读取文件“foo-bar.txt”…? 这甚至可能..? 我知道我可以从foo.jar的iside读取文件 this.getClass().getClassLoader().getResourceAsStream(“foo-bar.txt”); 但我不知道如何从外部jar子里做到这一点..有人可以帮助我吗?

导入JAR后的Android java.lang.NoClassDefFoundError

我遇到了问题…… 我制作了一个Jar(称为“GeoFence.jar”),我必须在Android项目中使用它。 所以,我所做的是: 看看这么多网站HowTo’s 在android项目中创建“libs”文件夹。 添加我的JAR(手动) 然后我去了Java Build Path并检查了我的JAR是否包含在Android Dependences中。 最后我做了必要的Imports来使用JAR需要的类。 完成所有这些后,我运行了我的应用程序,它抛出了这个错误: 我不明白发生了什么,原因,我修复了项目属性并清理了它。 它仍然无法正常工作。 这是我如何拥有结构和构建路径。