标签: executable-jar

如何在我自己的Project JAR中包含外部JAR

我有一个Java应用程序并创建了一个JAR文件并进行了部署.

该应用程序使用外部JAR,如Log4J JAR.创建JAR文件时,如何将所有外部相关JAR包含到我的存档中?

为了让我的应用程序正常工作,我不得不将Log4J JAR复制到与我自己的JAR相同的目录中,这有点违背了jar的目的.部署一个JAR文件不是更优雅吗?

java executable-jar

11
推荐指数
2
解决办法
1万
查看次数

JAR藏在EXE里面?

作为Java游戏的Minecraft本周末免费.Windows版本作为exe文件下载.我很好奇EXE文件正在做什么以及它从哪里解压缩并运行实际的游戏JAR.所以使用命令,我找到了运行javaw.exe进程的命令行参数; 奇怪的是,它是使用指向可执行文件的类路径启动的!(意思是,.exe文件充当jar).实际上,在将Minecraft.exe重命名为Minecraft.jar之后,我能够打开它并查看加载器类文件等,就像它是一个普通的JAR文件而不是EXE一样.

这怎么可能?我怎么能用我自己的JAR文件呢?

java jar executable-jar

11
推荐指数
1
解决办法
7542
查看次数

无法使用maven-assembly-plugin设置类路径

我正在创建控制台应用程序 我想在jar文件conf夹中的文件外部配置文件,并希望将此文件夹注册为我的应用程序的类路径.

我运行mvn assembly:single命令,得到一个jar文件,但是当我尝试运行这个JAR时java -jar MyApplication.jar,它无法读取配置文件.

我有这个片段 pom.xml

<build>
    <finalName>MyApplication</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.1</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-eclipse-plugin</artifactId>
            <version>2.7</version>  
            <configuration>
                <projectNameTemplate>
                    [artifactId]-[version]
                </projectNameTemplate>
                <wtpmanifest>true</wtpmanifest>
                <wtpapplicationxml>true</wtpapplicationxml>
                <wtpversion>2.0</wtpversion>
                <manifest>
                    ${basedir}/src/main/resources/META-INF/MANIFEST.MF
                </manifest>
            </configuration>

        </plugin>

        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <appendAssemblyId>false</appendAssemblyId>
                <archive>
                    <manifest>
                        <mainClass>com.my.test.App</mainClass>
                    </manifest>
                    <manifestEntries>
                        <Class-Path>.conf/</Class-Path>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

java maven-2 classpath executable-jar pom.xml

11
推荐指数
1
解决办法
1万
查看次数

如何打包具有多个.jar库的applet?

我正在从一个大规模的现有项目(Vizster)创建一个Java applet.我在Mac OS X上使用NetBeans 6.7.1和JDK 1.5.

我试图从它的单输出.jar文件运行applet,但是当我这样做时,它在Firefox的屏幕底部显示"applet loaded",并且在java控制台中没有任何内容,但是没有显示在小程序的窗口.我之前在Firefox中遇到过不同的错误,包括"appletNotLoaded:ClassDefNotFoundError"等错误以及安全错误,但我的java控制台中从未有任何输出.这是applet的html文件:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
  <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <applet codebase ="." code="zuve.ZuveApplet.class"
            archive="ZuveApplet.jar"
            height="1000" width="1000"/>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

其中zuve.ZuveApplet.class是我的main方法所在的位置,"ZuveApplet.jar"是输出jar文件的名称.这是ZuveApplet.java,主要方法类:

package zuve;

import vizster.Vizster;
import vizster.VizsterLib;
import java.applet.Applet;

 public class ZuveApplet extends Applet {
     public static final String DEFAULT_START_UID = "186297";

     @Override
     public void init() {
        new Vizster();
     }

    public static void main(String[] argv) {
        VizsterLib.setLookAndFeel();
        //String startUID = argv.length > 0 ? argv[0] : DEFAULT_START_UID; …
Run Code Online (Sandbox Code Playgroud)

java applet jar executable-jar

10
推荐指数
1
解决办法
2万
查看次数

将Scala应用程序导出为可运行的JAR

您是否可以告诉我,如果可以的话,如何将Scala应用程序导出到可以直接在JVM中运行的普通可运行JAR?
谢谢

jvm scala executable-jar

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

Maven和Netbeans:我如何构建项目并获取可执行jar?

我刚刚在Netbeans 7.4中启动了标准Maven - > Java Application.默认情况下,它创建了"App"类(具有main方法).我还去了项目的Properties-> Run并将该类设置为Main Class.然后我建立了这个项目.

在项目目录中,我得到了带有几个罐子的"目标"文件夹.它们都不是可执行的.我如何简单地解决问题并在每次构建结束时获取可执行jar?

谢谢.

java netbeans executable-jar maven

10
推荐指数
1
解决办法
2万
查看次数

如何使用Selenium/TestNG java文件中的IntelliJ制作可执行jar文件?

我已经谷歌搜索了几天试图弄清楚如何做到这一点,如果有人这样做之前我会非常感谢帮助.

我有一个自动化测试项目,我在IntelliJ中创建,自动化用户与Web应用程序交互.

我想将自动化测试(使用Selenium和TestNG在Java中创建)放入可执行jar文件中,其他人可以通过双击jar文件来运行.

每次我尝试通过导航到项目结构 - >工件 - > + - >罐子 - >从具有依赖关系的模块创建一个jar文件时,它最终会创建一个声称它的jar,

"Could not find or load the main class <package.MainClass> "
Run Code Online (Sandbox Code Playgroud)

当我尝试使用以下命令运行它时:

java -jar MyProject.jar <Manifest Path>
Run Code Online (Sandbox Code Playgroud)

知道为什么我不断得到这个错误,或者有办法成功地做到这一点?

另外,这是我的pom.xml:

<groupId>TestAutomation</groupId>
<artifactId>TestAutomation</artifactId>
<version>1.0-SNAPSHOT</version>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <mainClass>com.test.automation.Executable</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>2.39.0</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.40.0</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.1.1</version>
        <scope>test</scope>
    </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

java selenium jar intellij-idea executable-jar

10
推荐指数
1
解决办法
2万
查看次数

可执行jar中的"System.out.println()"会发生什么?

假设我已经使用executable jar过的代码创建了一个代码

System.out.println()
Run Code Online (Sandbox Code Playgroud)

当我们运行可执行jar时,没有控制台.那么,这条线会发生什么?如何java处理这种情况?

编辑01:

注意:情况是我不使用控制台运行jar或无论如何将任何控制台与它关联.

编辑02:让事情更清晰:

我知道没有任何东西可以在任何地方打印,因为没有控制台..!我想知道java在这种情况下如何处理这一行?生成可执行jar的字节码时是否省略了这一行?或者,当没有控制台时,这条线是否被忽略了?还是什么......

java executable-jar system.out

10
推荐指数
1
解决办法
2万
查看次数

部署JavaFX应用程序,创建JAR和自包含应用程序以及本机安装程序的最佳方法是什么

我正在使用IntelliJ IDEA,我已准备好部署JavaFX应用程序.问题是,当我生成JAR文件时,它不会运行,当我在命令行中运行它时,我得到一个Exception,FXMLLoadException,尽管该项目在我的IDE中完美运行.

Ant任务以错误结束,构建15分钟后,我真的不明白究竟是什么问题.

所以我的问题是以正确的方式部署JavaFX应用程序的正确步骤是什么,欢迎使用任何教程或指南.

java ant javafx intellij-idea executable-jar

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

从Android Studio导出Libgdx游戏作为可执行jar

好吧所以我用Libgdx做了一个游戏,我打算用它作为一个Android应用程序(这就是我使用android工作室的原因)但是我想让没有安卓手机的朋友试试看.该项目已经设置为桌面和Android,所以有没有办法将其导出为可执行的jar文件?

executable-jar libgdx android-studio

10
推荐指数
1
解决办法
6578
查看次数