Tag: jar

在Java项目中使用jar?

我正在尝试使用包含在名为hello的包中的jar文件(例如,名为Hello.jar)提供的项目中的公共方法/类。 package hello; public class Hello { public static void main(String[] args) { coucou(); } public static void coucou() { System.out.println(“Hello there”); } } 在一个名为Tool的单独项目中,我希望能够调用方法Hello.coucou()所以我写了这样的东西: import hello.*; public class Tool { public static void main(String[] args) { System.out.println(“main program running”); Hello.coucou(); } } 我使用以下命令编译Tool.java(在linux下): $ javac Tool.java -classpath .:./extern/: Hello.jar位于文件夹./extern 这似乎编译得很好但是当我启动它(即java工具)时,我得到了这个: main program running Exception […]

在android中使用预构建JAR中的资源

嗨, 我正在修补android平台。 我已经成功地在平台的构建中包含了一个预构建的JAR,并且类按预期加载和工作。 我的问题是JAR本身包含资源文件,而clasess使用它们。 这在运行时失败(ClassLoader.getResource()和ClassLoader.getResourceAsStream())。 我在网上搜索过,发现Android只允许在包构建(.apk)中使用资源,并且不允许使用JAR。 我的问题是: 我怎样才能将资源与JAR并列? 我可以创建一个APK构建并在其中使用代码,就像JAR一样吗? 我手边有所有的源文件和资源文件。 目前我表示其他平台项目依赖于我的JAR: LOCAL_STATIC_JAVA_LIBRARIES:= my-prebuilt-module-name 这很有效。 剩下的就是捆绑资源…… 非常感谢

Hadoop maven依赖性错误 – 找不到hadoop类

尽管我将以下依赖项导入到我的pom中,但未导入相关的Hadoop类(org.apache.hadoop.*) 。 1.0.4 org.apache.hadoop hadoop-client ${hadoop.version} org.apache.hadoop hadoop-core ${hadoop.version} org.apache.hadoop hadoop-examples ${hadoop.version} org.apache.hadoop hadoop-tools ${hadoop.version}

Maven(Eclipse插件和mvn)不包括带有pom.xml设置的主类

过去几个小时我一直试图解决这个问题而且我无处可去。 我刚刚安装了Maven for Eclipse插件(M2E,我认为)以及maven,mvn。 我创建了一个非常简单的Hello World项目,并尝试使用以下命令运行构建的jar:java -jar pimidi-0.0.1-SNAPSHOT.jar 无论我尝试什么,我总是得到相同的错误:没有主要的清单属性,在目标/ pimidi-0.0.1-SNAPSHOT.jar 这是我的pom.xml: 4.0.0 com.dan pimidi 0.0.1-SNAPSHOT jar pimidi http://maven.apache.org UTF-8 junit junit 3.8.1 test org.apache.maven.plugins maven-eclipse-plugin 1.5 org.apache.maven.plugins maven-compiler-plugin 1.6 1.6 org.apache.maven.plugins maven-jar-plugin 2.4 com.dan.pimidi.App 我已经在POM的清单节点(类路径,清单位置),不同的插件(汇编,编译等)中尝试了无数不同的选项,但无济于事。 在Eclipse中查看有效的POM时,我可以看到maven-jar-plugin已经包含在更高级别的POM中,省略了对项目POM的任何更改。 有没有人对如何使这个工作有任何想法? 如果这个问题缺乏细节,我会道歉 – 我今晚的精神力量已经过期了。 任何帮助将不胜感激!

读取Jar中的文件(ZipInputStream等)

我正在用java编写一个游戏,并且所有工作都或多或少都正常,正如您在编码时所期望的那样,但我遇到的一个问题是将图像和声音文件读入游戏。 我编写了一个在Eclipse中运行良好的方法,但是一旦我尝试在可运行的jar中测试它(使用Eclipse导出),我的游戏就会卡在加载屏幕上,因为它无法读取文件。 我意识到你不能在Jar中创建File对象的问题,你必须使用流。 这可能有效,但图像/声音位于文件夹中,我不太确定如何使用流读取文件夹中的文件(即不知道文件的数量)。 因此我尝试使用ZipInputStream重写该方法(我在发布此解决方案之前找到了解决方案时的建议)。 这就是现在的方法: imageMap = new HashMap(); String imagebase = “/images”; CodeSource src = PlatformerCanvas.class.getProtectionDomain().getCodeSource(); if(src != null) { URL jar = src.getLocation(); try { ZipArchiveInputStream zip = new ZipArchiveInputStream(jar.openStream()); ZipArchiveEntry ze = null; while((ze = zip.getNextZipEntry()) != null) { System.out.println(ze.getName()); if(ze.getName().startsWith(imagebase) && ze.getName().endsWith(“.png”)) { loading++; imageMap.put(ze.getName().replaceAll(imagebase + “/”, “”), ImageIO.read(this.getClass().getResource(ze.getName()))); } […]

Spring Error – java.lang.NoSuchMethodError:> org.springframework.beans.factory.annotation.InjectionMetadata。

伙计们, 我试图运行一个使用@Required.的简单弹簧示例@Required. 但是,当我运行主方法类时,我得到下面的exception跟踪? 线程“main”中的exceptionjava.lang.NoSuchMethodError:org.springframework.beans.factory.annotation.InjectionMetadata。(Ljava / lang / Class; Ljava / util / Collection;)V org.springframework.orm.jpa.support。 PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:377)在org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(PersistenceAnnotationBeanPostProcessor.java:295)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java: 750)atg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:451)at java.security的org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory $ 1.run(AbstractAutowireCapableBeanFactory.java:412)。 org.springframework.beans.fac中的AccessController.doPrivileged(Native Method) 位于org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:276)的org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton中的tory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:383) (DefaultSingletonBeanRegistry.java:222)org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:273)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:175)at Org.springframework.bens.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:485)位于org.springframework.context.support.AbstractApplicationContext的org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:716)。刷新(AbstractApplicationContext.java:377)org.springframework.context.support.ClassPathXmlApplicationContext。(Clas sPathXmlApplicationContext.java:139)atg.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:83)at com.springexamples.annotation.required.EmployeeTest.main(EmployeeTest.java:19) 我是否在classpath中缺少任何特定的jar? 谢谢

排除阴影jar中包含的类

我试图将某些类排除在阴影jar中。 我尝试了几种不同的配置,但出于某种原因,jar子仍然包含在我的jar子里。 这是插件设置: org.apache.maven.plugins maven-shade-plugin 2.4.2 package shade *:* META-INF/*.SF META-INF/*.DSA META-INF/*.RSA java/* 我也尝试了以下模式: java.* java.util.concurrent.ConcurrentHashMap java/util/concurrent/ConcurrentHashMap 其中没有一个实际上从我的jar中排除了该文件。 如何从我的jar中排除这个类?

尝试在命令提示符下运行.jar文件

我试图使用我的命令提示符(Windows XP)运行一个jar文件,但得到NoClassDefFoundError。 我将DateAndTime.class文件放在名为dateandtime的文件夹中,并在源文件中指出了一个名为dateandtime的包。 在文件夹外面,我有一个带有规范的manifest.mf文件 Main-Class:dateandtime.DateAndTime 我把它放在命令文件中 jar cmf manifest.mf myJarFile.jar dateandtime 这会在manifest.mf所在的文件夹中创建myJarFile.jar。 当我尝试运行这个jar文件时,我得到了NoClassDefFoundError java -jar myJarFile.jar 如果我在没有指定包的同一目录中jave所有类,那么.jar文件运行正常,但是一旦我尝试指定包,即使myJarFile.jar被创建,我也会收到错误。 这是为什么? 问候

在没有sbt的情况下运行sbt创建的应用程序

这是某个问题的后续行动。 当我使用sbt创建Scala包时,我可以使用以下方法之一运行它: 只需在sbt控制台中键入run即可 或者通过创建一个jar文件(使用one-jar或assembly ),并通过键入java -jar myjar.jar在系统控制台中运行此jar java -jar myjar.jar 但我不知道该怎么做 从scala程序运行我的包? (不是sbt scala控制台,通过输入import mypackage._可以正常工作) 在另一个项目中使用我的Scala包? 例如,通过在另一个项目中导入myjar ? 编辑 :你可以忘记我下面关于sbt-start-script因为现在我正在使用sbt-native-packager (我刚试过它并且它有效,但我以前的问题仍未解决)。 我试过使用sbt-start-script但不成功。 target/start脚本创建良好但我得到了这样的错误: $ sh target/start target/start: 2: target/start: Bad substitution Exception in thread “main” java.lang.NoClassDefFoundError: Hi Caused by: java.lang.ClassNotFoundException: Hi … 这里我只在src/main/scala文件夹中有一个main.scala文件,它是: object Hi { def main(args: Array[String]) = println(“Hi!”) } 我在build.sbt使用这些设置: import com.typesafe.sbt.SbtStartScript […]

Proguard谷歌游戏服务jar

我正试图用proguard混淆google play服务jar。 我尝试了两个版本的proguard配置文件。 第一个包含 -keep class ** { public protected *; } jar子不会混淆。 看起来不错。 第二个包含 -keep class com.** { public protected *; } 而且proguard删除了永恒。 我收到一个错误: Error: The output jar is empty. Did you specify the proper ‘-keep’ options? 为什么它是空的,因为主要的google play服务包是com.google.android.gms?