标签: executable-jar

带有Struts 1.x版本的AJAX

我正在使用Struts1.3,Jboss4.X版本和jdk1.5开发应用程序

现在作为增强功能,我们计划将AJAX实现到Web应用程序

你能建议我吗?

  1. 我是否可以在Struts1.3 Framework中使用AJAX?
  2. 如果我可以实现AJAX,我需要使用哪个Jar?
  3. 在Some网站上,我意识到struts2-dojo-plugin.jar可以用于Struts2,无论同一个jar是否适用于Struts 1.3版本

请澄清我的疑虑

ajax struts jar executable-jar struts-1

6
推荐指数
1
解决办法
3367
查看次数

你如何重新编译一个jar文件?

我拿了一个旧的jar文件并对其进行了编辑.现在我有一个包含所有文件的文件夹,我想将它们重新编译回jar文件.我该怎么做呢?

java directory jar executable-jar

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

如何在DesktopApp中使用JavaFX WebView和本地文件?

当我在eclipse中使用它时,我的webview就像魅力一样,但只要我将应用程序打包到一个jar文件中就会抛出以下错误:

This page contains the following errors:
error on line 33 at column 26: StartTag: invalid element name
Below is a rendering of the page up to the first error.
Run Code Online (Sandbox Code Playgroud)

这是HTML文件

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="EN">
    <head>
    <style>
        html,body {
            height: 99%;
            width: 99%;
        }
        #map {
            width: 100%;
            height: 100%;
            border: 1px solid black;
        }   
    </style>
    <script src='http://openlayers.org/api/OpenLayers.js'></script>
    </head>
    <body>
        <div id='map'></div>
        <script type="text/javascript">
            var map = new OpenLayers.Map("map",{projection:"EPSG:3857"});
            var …
Run Code Online (Sandbox Code Playgroud)

desktop-application executable-jar webview

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

如何从InputStream中读取ImageIO:Java

我已经创建了可执行jar文件(使用Eclipse),有一组图像(.png)文件将被包含在jar中.所以我添加了一个源文件夹,其中包含/images项目中文件夹内的所有图像.代码必须访问这些文件才能使用创建BufferedImageImageIO.read(new File(path);

早些时候,要获得我使用的路径 ClassName.class.getResource(/image/test.png).toURI();

在执行jar时,它抛出错误 URI不是分层的

所以现在我正在使用 ClassName.class.getResourceAsStream(/image/test.png);

但是如何从Inputstream读取ImageIO?我尝试演员如下

InputStreamReader resourceBuff=ClassName.class.getResourceAsStream(/image/test.png);
ImageIO.read((ImageInputStream) new InputStreamReader(resourceBuff));
Run Code Online (Sandbox Code Playgroud)

它抛出错误InputStreamReader无法强制转换为ImageInputStream

java file-io image executable-jar javax.imageio

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

Myclass.class.getProtectionDomain().getCodeSource()返回空路径

我正在尝试使用以下方法查找正在运行的jar文件的位置:

File jarFile = new File(JarPath.class.getProtectionDomain().getCodeSource().getLocation().toURI());
Run Code Online (Sandbox Code Playgroud)

当我在IDE(eclipse)上运行它时,它返回正确的路径.但是当我将jar作为可执行文件运行时,返回的代码源是

rsrc:./
Run Code Online (Sandbox Code Playgroud)

关于如何获得正确路径的想法?

java eclipse jvm path executable-jar

6
推荐指数
1
解决办法
657
查看次数

导出的(Eclipse)可执行jar文件中的UnsatisfiedLinkError

从Eclipse执行时,代码工作正常.我正在使用OpenCV 2.4.11和JavaFX for UI.当我从Eclipse导出可执行Jar并从cmd运行它时,我得到以下异常:

在此输入图像描述

我跟很多张贴在这里的SO和OpenCV论坛(1,2,3,4),但是,没有一个答案似乎帮助我.

我已经将OpenCV jar添加为库,而Native Library链接到/ build/java/x64,如SO答案中所建议的那样.

Java构建路径

发生在的System.loadLibrary(Core.Native_Library_Name)例外,我查了Native_Library_Name和OpenCV的版本是一样的一个我在我的项目进口.

public class CustomFrame extends Application{

    @Override
    public void start(Stage primaryStage){
        Group root = new Group();
        Canvas canvas = new Canvas(1440, 840);

        ImageView imageView = new ImageView();
        imageView.setFitHeight(canvas.getHeight());
        imageView.setFitWidth(canvas.getWidth());
        new FrameController().startCamera(imageView);

        root.getChildren().addAll(imageView, canvas);
        primaryStage.setScene(new Scene(root));
        primaryStage.show();
    }

    public static void main(String[] args)
    {
        // load the native OpenCV library
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        launch(args);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果有人认为我错过了什么,请告诉我.

java eclipse opencv javafx executable-jar

6
推荐指数
1
解决办法
2158
查看次数

运行maven-assembly创建的可执行jar:错误:找不到或加载主类

尝试使用maven-assembly插件创建包含所有依赖项的胖jar .尝试了很多东西,但最终找不到主类的错误.好像我已经撞墙了,现在已经在这里待了几个小时.

pom.xml 片段:

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>foobar</groupId>
    <artifactId>foobar</artifactId>
    <version>1.0-SNAPSHOT</version>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <outputDirectory>/home/jars/foobar/</outputDirectory>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <mainClass>com.foobar.Main</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>...</dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

执行Maven命令:

mvn clean compile assembly:single

mvn package assembly:single

mvn clean compile package assembly:single

/home/jars/foobar/foobar-1.0-SNAPSHOT-jar-with-dependencies.jar按预期创建jar

MANIFEST.INFMETA-INF

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: user
Created-By: Apache Maven 3.3.9
Build-Jdk: 1.8.0_131
Main-Class: com.foobar.Main
Run Code Online (Sandbox Code Playgroud)

执行的Java命令:

java -jar foobar-1.0-SNAPSHOT-jar-with-dependencies.jar

java -cp foobar-1.0-SNAPSHOT-jar-with-dependencies.jar …

java jar executable-jar maven maven-assembly-plugin

6
推荐指数
1
解决办法
3907
查看次数

在没有主程序的情况下执行 jar?

我可以在没有主类的情况下以这种方式执行 jar 文件吗:

java -jar my_jar.jar -getX arg1 arg2 ...
Run Code Online (Sandbox Code Playgroud)

知道我有一个名为 getX 的方法,它以 arg1 arg2 ... 作为参数。任何的想法?

java program-entry-point jar executable-jar

5
推荐指数
1
解决办法
6784
查看次数

如何从类似于 eclipse 的命令行创建可运行的 jar 文件

我知道 eclipse 会生成一个可运行的 jar 文件,其中包含提取并包含在 jar 文件中的所有库 .jar 文件。从命令提示符手动创建 jar 文件时,我如何执行类似的操作。我是否需要将所有 lib jar 解压缩到 classes 文件夹中?

目前我正在使用 -

    jar cvfm example.jar manifest.txt -C  Classes/ .
Run Code Online (Sandbox Code Playgroud)

这会创建一个包含所有类文件的 jar 文件,我需要将所有库 jar 放在与 example.jar 存在的同一文件夹中。

java linux command-line jar executable-jar

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

IntelliJ IDEA - 反编译/编辑/重新编译 JAR

我意识到这似乎是一个完全愚蠢的问题,而且这个问题是“文字墙”,但我觉得我已经超出了我的深度,需要一些指导。我已经阅读了有关此主题的几个问题,但似乎仍然找不到解决这一特定情况的问题。(请参考本文末尾的更新


背景

我们公司有一个用 Java 构建的应用程序,由几年前去世的开发人员作为可执行 JAR 包发布。从那时起,几乎不需要查看该代码,更不用说进行任何更改了。这真的很好,因为我在 VB.NET (Visual Studio) 中进行编程,虽然我可以阅读和理解 Java 代码,但我并不精通实际编写/调试该代码。

然而,最近出现的一个问题迫使我尝试查看这个 Java 代码,因为组织和数据结构发生了一些内部变化。我查看了他的“ src\”目录,找到了他的原始代码的旧版本,但无法在任何地方找到最新版本。我发现一些代码使我能够将当前正在使用的 JAR 提取到 CodeProject ( JarsVB.java ) 上的本地目录,因此当我试图找出正在执行的查询时,我能够查看一些文件用于一些随机操作。我不知道原始开发人员使用什么工具来创建项目/JAR,所以我安装了IntelliJ IDEA Community Edition 2018作为 IDE,到目前为止,它对我来说只是简单地查看代码,所以我可以了解一点它在做什么。


问题/目标

不幸的是,现在我需要更改 Java 代码并更新 JAR,而这就是我似乎无法弄清楚我需要做什么的地方。我有来自“解压缩”JAR 的本地代码副本,其中包含所有.java.class文件(以及所有其他资源),但我不确定如何从该副本修改代码并重新编译可执行 JAR。

所以,我的目标如下:

  1. (正确)反编译现有的可执行 JAR。(如果我上面提到的JarsVB解决方案做了它应该做的事情,我应该已经处理了这部分,但如果有更好、更“集成”的方法来做到这一点,我也会对此持开放态度。
  2. 修改一个或多个.java文件。(我相信我可以很好地理解语法来完成这部分。
  3. 调试/测试我的更改。
  4. 将更改重新编译为更新的可执行 JAR 以便发布。(是我最困惑的地方。

我做了什么

我一直在查看 IntelliJ 的文档,试图找出如何实现这一切,但我觉得我错过了一些东西。我将“项目结构”设置设置为指向特定文件夹,但我似乎无法让它在我指定的路径中实际构建任何内容。

项目结构 -> 项目设置 -> 项目

项目结构 -> 项目设置 -> 模块

我进入其中一个.java文件并进行/保存了一个小更改以进行测试,然后转到“构建”菜单并尝试了所有可用的构建选项:“构建项目”、“构建模块”和“重建项目”。每次,事件日志都会显示“所有文件都是最新的”(即使我更改了一个文件),因此我转到输出目录查看它构建的内容,但该文件夹是空的。

我查看了 IntelliJ 文档 将模块打包成 JAR …

java jar intellij-idea executable-jar

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