标签: jar

如何在Java中更改清单文件

我如何更改mainfest文件中的类路径。

我在文件夹中有外部jar文件:

Class-Path: folder/AbsoluteLayout.jar
Run Code Online (Sandbox Code Playgroud)

我想将我的外部jar文件添加到我的JAR MyProject.jar并更改mainfast ..我应该在mainfestu中编写什么内容以将库链接到我的jar中。

Class-Path: path to my externalJar in MyProject.jar
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

希望您能理解,谢谢:-)

java jar

0
推荐指数
1
解决办法
534
查看次数

如何通过eclipse调试外部.jar文件?

这很难解释,但我会尽我所能.有一个.jar文件可以打开锦标赛环境的GUI.它是独立的,我没有给出源代码.我需要用Java编写一个代表比赛的代理.当.jar文件打开时,我可以在GUI中指定代理程序的类文件的路径.这很好用.但我不知道如何调试这个,因为.jar文件没有在eclipse中打开.我尝试使用外部工具,它似乎运行.jar文件,但GUI没有打开,所以我无法指定代理的路径.锦标赛环境文档并没有真正提供在没有GUI的情况下操作它的说明,所以我真的只需要使用GUI.我可以通过eclipse运行这个文件的任何方式,所以我可以看到我自己的代理如何与环境一起工作并相应地进行测试/调试?

附加信息 - 这个.jar也可以作为一个库,我可以导入Eclipse而不会出现任何问题.

java eclipse jar executable-jar

0
推荐指数
1
解决办法
6000
查看次数

多个fatJars的摇篮

我有一个gradle构建脚本,如下所示:

dependencies {
  compile project(':common:avro')
  ....

fatJar {
  manifest {
    attributes 'Main-Class': 'package.subpackage.MainClass'
  }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够从命令行中选择要使用的MainClass,还可以选择生成的fat.jar名称。这可能吗?

java jar gradle

0
推荐指数
1
解决办法
134
查看次数

Java项目无法识别生成的jar文件中的导入

我使用命令行jar cvfm server-model.jar nz生成一个名为的jar文件server-model.jar

一些输出:

adding: nz/api/pojos/core/util/(in = 0) (out= 0)(stored 0%)
adding: nz/api/pojos/core/util/RenderMarkdownReqMsg.java(in = 845) (out= 283)(deflated 66%)
adding: nz/api/pojos/core/util/RenderMarkdownRespMsg.java(in = 904) (out= 296)(deflated 67%)
Run Code Online (Sandbox Code Playgroud)

之后我跑了 jar -tvf server-model.jar

一些输出:

   0 Wed Jul 02 16:52:20 NZST 2014 nz/api/pojos/core/util/
  845 Wed Jul 02 16:52:20 NZST 2014 nz/api/pojos/core/util/RenderMarkdownReqMsg.java
   904 Wed Jul 02 16:52:20 NZST 2014 nz/api/pojos/core/util/RenderMarkdownRespMsg.java
Run Code Online (Sandbox Code Playgroud)

我的问题是一个简单的Java项目(因为我几乎尝试了所有东西而项目实际上使用了Maven)不能使用这些类,因为import语句不能识别它们.

它认为MANIFEST.MF和/或类路径存在问题.任何建议表示赞赏.

MANIFEST.MF

Manifest-Version: 1.0
Created-By: 1.7.0_45 (Oracle Corporation)
Run Code Online (Sandbox Code Playgroud)

java jar manifest

0
推荐指数
1
解决办法
74
查看次数

除非我提取文件,为什么我的Jar不会运行?

每次我运行导出的.jar文件时,包含一个JFrame图像作为其图标,该文件不会运行,除非我提取文件.在编译器中它正在运行.我不想制作一个将资源包和jar文件保存在目录中的启动器.

java swing export jar image

0
推荐指数
1
解决办法
255
查看次数

无法使用批处理文件执行java程序

我在使用批处理文件执行java程序时遇到问题.

我的批处理文件看起来像 -

java -cp .;/lib/commons-codec-1.9.jar;/lib/commons-logging-1.1.3.jar;/lib/junit-4.11.jar;/lib/log4j-1.2.17.jar;/lib/poi-3.11-20141221.jar;/lib/poi-examples-3.11-20141221.jar;/lib/poi-excelant-3.11-20141221.jar;/lib/poi-ooxml-3.11-20141221.jar;/lib/poi-ooxml-schemas-3.11-20141221.jar;/lib/poi-scratchpad-3.11-20141221.jar;/lib/xmlbeans-2.5.0.jar; com.migrate.MigrUtil

lib文件夹与批处理文件位于同一目录中.但它无法检测到jar文件.当我提到jars文件的绝对路径时,它工作正常,例如c:\test\lib\commons-codec-1.9.jar

这个家伙有什么帮助吗?

java jar batch-file

0
推荐指数
1
解决办法
112
查看次数

Android无法在运行时从JAR中找到方法

我一直在研究一种使用AES加密的应用程序,它需要JAR进行Base 64编码和解码.

我跟着这个教程有关导入JAR(可能是我的问题,因为好像他们不知道他们在做什么).逐行编译很高兴,但在手机运行时,我收到错误消息

 Could not find method org.apache.commons.codec.binary.Base64.decodeBase64, referenced from method com.login.tools.Encoder.decrypt
Run Code Online (Sandbox Code Playgroud)

我的应用程序gradle脚本确实引用了JAR

compile project(':commons-codec-1.10')
Run Code Online (Sandbox Code Playgroud)

哪个应该调用commons-codec-1.10 gradle脚本

configurations.create("default")
artifacts.add("default", file('commons-codec-1.10.jar'))
Run Code Online (Sandbox Code Playgroud)

调用类本身看起来有点像

import org.apache.commons.codec.binary.Base64;
.
.
.
public static String decrypt(String strToDecrypt)
    setDecryptedString(new String(cipher.doFinal(Base64.decodeBase64(strToDecrypt))));
Run Code Online (Sandbox Code Playgroud)

java android jar android-studio

0
推荐指数
1
解决办法
2546
查看次数

通过命令行将外部依赖项添加到jar文件

读完这个问题后,我设法运行了一个.jar文件,该文件在jar文件中有外部依赖项:

/usr/lib/jvm/java-8-jdk/bin/java -classpath /usr/local/bin/kiaragen.jar:/home/kiara/AppLab/KIARA/kiaragen/src/main/resources/org/fiware/kiara/generator/idl/templates/*:/usr/lib/jvm/java-8-jdk/jre/lib/*:/home/kiara/AppLab/KIARA/kiaragen/lib/*  org.fiware.kiara.generator.kiaragen
Run Code Online (Sandbox Code Playgroud)

其中/usr/local/bin/kiaragen.jar是要执行的文件.现在,我正在尝试运行依赖于.class文件的不同版本:

/home/kiara/AppLab/KIARA/IDL-Parser/target/classes/com/eprosima/idl/parser/exception/ParseException.class
Run Code Online (Sandbox Code Playgroud)

将文件添加到类路径:

/usr/lib/jvm/java-8-jdk/bin/java -classpath /usr/local/bin/kiaragen-0.2.0.jar:/home/kiara/AppLab/KIARA/IDL-Parser/target/classes/com/eprosima/idl/parser/exception/ParseException.class:/home/kiara/AppLab/KIARA/kiaragen/src/main/resources/org/fiware/kiara/generator/idl/templates/*:/usr/lib/jvm/java-8-jdk/jre/lib/*:/home/kiara/AppLab/KIARA/kiaragen/lib/*  org.fiware.kiara.generator.kiaragen
Run Code Online (Sandbox Code Playgroud)

给出以下例外:

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: com/eprosima/idl/parser/exception/ParseException
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
    at java.lang.Class.getMethod0(Class.java:3018)
    at java.lang.Class.getMethod(Class.java:1784)
    at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: com.eprosima.idl.parser.exception.ParseException
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 7 more
Run Code Online (Sandbox Code Playgroud)

为什么?

.jar的清单文件与以前相同:

$ cat META-INF/MANIFEST.MF 
Manifest-Version: 1.0
Main-Class: org.fiware.kiara.generator.kiaragen
Run Code Online (Sandbox Code Playgroud)

如何将.class文件添加到类路径?

java jar intellij-idea maven

0
推荐指数
1
解决办法
536
查看次数

如何更改jar文件的编码以管理"█▓▒CRIT!░░╚╡▌▌╞╗░░"等字符?

EDITED

大家好.

我的代码使用pircBot将IRC消息发送到twitch.tv.

消息包括'█▓▒CRIT等字符!░░╚╡▌▌╞╗░░"

示例输出代码:sendMessage("#twitchraidstwitch","/me█▓▒CRIT!░░╚╡▌▌╞╗░░");

所以这些字符最初都显示为'?' 在Eclipse中.在我将窗口 - >首选项 - >文本文件编码更改为US-ASCII之前,它们无法正常工作.(虽然我刚刚学会了这些字符甚至不是ASCII.)

当我将项目导出到jar并尝试在CMD中运行时,字符将返回到"?".

我如何让这个在cmd中工作?

谢谢!

java encoding jar

0
推荐指数
1
解决办法
2891
查看次数

JVM只会获取.jar文件吗?

当我开始-classpath论证时,java它会仅选取具有.jar扩展名的文件,还是会尝试查看-classpath路径中的其他文件?

如果我指定含义-classpath/mypath包含

/mypath/IAmANormalJar.jar
/mypath/IAmAJarWithoutExtension
Run Code Online (Sandbox Code Playgroud)

哪个IAmAJarWithoutExtension是实际的jar文件但没有.jar扩展名.只会/mypath/IAmANormalJar.jar由JVM加载还是会/mypath/IAmAJarWithoutExtension被加载?

java jvm jar

0
推荐指数
1
解决办法
568
查看次数