标签: jar

什么是胖JAR?

我听说有人说他们创建了一个胖JAR并进行部署.他们究竟是什么意思?

java jar uberjar

121
推荐指数
4
解决办法
6万
查看次数

是什么原因导致"无法访问jar文件"错误?

我想在不使用IDE的情况下执行我的程序.我已经创建了一个jar文件和一个exectuable jar文件.当我双击exe jar文件时,没有任何反应,当我尝试在cmd中使用该命令时,它给了我:

Error: Unable to access jarfile <path>
Run Code Online (Sandbox Code Playgroud)

我使用命令: java -jar Calculator.jar

我是如何创建jar的:

  1. 右键单击项目文件夹(计算器)
  2. 选择
  3. 单击Java Folder并选择"Exectuable Jar File",然后选择next
  4. 启动配置:主要 - 计算器
  5. 创建导出目的地
  6. 点击"完成"并获利!好吧,不是真的.

java jar executable-jar

117
推荐指数
12
解决办法
54万
查看次数

Java,Classpath,Classloading =>同一个jar /项目的多个版本

我知道这对有经验的程序员来说可能是一个愚蠢的问题.但我有一个库(一个http客户端),我的项目中使用的一些其他框架/ jar需要.但所有这些都需要不同的主要版本,如:

httpclient-v1.jar => Required by cralwer.jar
httpclient-v2.jar => Required by restapi.jar
httpclient-v3.jar => required by foobar.jar
Run Code Online (Sandbox Code Playgroud)

类加载器是否足够智能以某种方式将它们分开?很可能不是吗?如果Class在所有三个jar中都相同,Classloader如何处理这个问题.加载哪一个,为什么?

类加载器是仅仅拾取一个罐子还是任意混合类?因此,例如,如果从Version-1.jar加载一个类,那么从同一个类加载器加载的所有其他类都将进入同一个jar?

你怎么处理这个问题?

是否有一些技巧以某种方式将罐子"合并"到"required.jar"中,以便将它们视为"一个单元/包" Classloader,或以某种方式链接?

java jar classpath classloader

114
推荐指数
5
解决办法
8万
查看次数

分发Java应用程序的最佳方式是什么?

Java是我选择的编程语言之一.尽管将我的应用程序分发给最终用户,但我总是遇到这个问题.

为用户提供JAR并不总是像我希望的那样友好,并且使用Java WebStart要求我维护一个Web服务器.

分发Java应用程序的最佳方法是什么?如果Java应用程序需要将工件安装到用户的计算机,该怎么办?那里有没有好的Java安装/包装系统?

java installer software-distribution jar

113
推荐指数
3
解决办法
6万
查看次数

如何在java文件中包含jar文件并在命令提示符下编译

我有3个jar文件和一个依赖于这些jar文件的.java文件.如何使用命令提示符使用这些jar文件编译.java文件?

java jar command-prompt

112
推荐指数
7
解决办法
28万
查看次数

用maven建造一个胖罐子

我有一个代码库,我想分发为jar.它还依赖于外部jar,我想在最后的jar中捆绑它.

我听说这可以用maven-assembly-plug-in,但我不明白怎么做.有人能指点我一些例子.

现在,我正在使用胖罐捆绑最后的罐子.我想用maven实现同样的目的.

jar maven maven-assembly-plugin

109
推荐指数
6
解决办法
10万
查看次数

在java程序中执行另一个jar

我写了几个名为A.jar,B.jar的简单java应用程序.现在我想编写一个GUI java程序,以便用户可以按下按钮A执行A.jar,按钮B执行B.jar.我也想在GUI程序中输出运行时进程细节.有什么建议吗?

java jar executable-jar

107
推荐指数
3
解决办法
10万
查看次数

如何列出JAR文件中的文件?

我有这个代码从目录中读取所有文件.

    File textFolder = new File("text_directory");

    File [] texFiles = textFolder.listFiles( new FileFilter() {
           public boolean accept( File file ) {
               return file.getName().endsWith(".txt");
           }
    });
Run Code Online (Sandbox Code Playgroud)

它很棒.它使用目录"text_directory"中以".txt"结尾的所有文件填充数组.

如何 JAR文件中以类似的方式读取目录的内容?

所以我真正想做的是,列出我的JAR文件中的所有图像,所以我可以加载它们:

ImageIO.read(this.getClass().getResource("CompanyLogo.png"));
Run Code Online (Sandbox Code Playgroud)

(那个是有效的,因为"CompanyLogo"是"硬编码的",但JAR文件中的图像数量可以是10到200个可变长度.)

编辑

所以我想我的主要问题是:如何知道我的主类所在的JAR文件名称

当然,我可以使用它来阅读它java.util.Zip.

我的结构是这样的:

他们就像:

my.jar!/Main.class
my.jar!/Aux.class
my.jar!/Other.class
my.jar!/images/image01.png
my.jar!/images/image02a.png
my.jar!/images/imwge034.png
my.jar!/images/imagAe01q.png
my.jar!/META-INF/manifest 
Run Code Online (Sandbox Code Playgroud)

现在我可以使用以下命令加载例如"images/image01.png":

    ImageIO.read(this.getClass().getResource("images/image01.png));
Run Code Online (Sandbox Code Playgroud)

但只是因为我知道文件名,其余的我必须动态加载它们.

java jar file getresource java-io

107
推荐指数
9
解决办法
13万
查看次数

如何使用maven构建jar,忽略测试结果?

当我运行测试他们失败但是我需要运行它们以获得一些对我的jar非常重要的.class文件的现状.

默认情况下,当测试结果失败时,jar不是构建的,我可以在pom.xml中添加一个忽略它的设置,所以我可以构建jar忽略测试结果吗?

我读了一些关于"Maven Surefire插件"的内容,但我不知道如何使用它...

java testing maven-2 jar

104
推荐指数
5
解决办法
8万
查看次数

"java -cp"和"java -jar"之间的区别?

使用
java -cp CLASSPATH和运行Java应用程序有什么区别java -jar JAR_FILE_PATH?是否其中一个更喜欢运行Java应用程序?我的意思是JVM中哪一种方式更昂贵(根据他们的机器资源使用情况)?

哪一个会导致JVM在尝试运行应用程序时产生更多线程?

java jvm jar classpath

104
推荐指数
4
解决办法
12万
查看次数