标签: jar

我可以使用ANT任务更新已签名的jar吗?

嗨,我正在尝试使用webstart部署应用程序.我需要更新在实际部署之前签名的jar(基本上是为了更新IP /端口信息).我正在尝试使用ANT来更新jar.是否有办法实现这一目标?

ant signing jar java-web-start

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

使用ANT在一个非常大的项目中生成.jar

我有一个大型项目(使用Eclipse),它使用1.5更新18 JDK,各种外部JAR等.它已在Eclipse中正确设置.是否可以创建一个Ant文件,从我项目中的特定源文件生成JAR?(许多源文件可以编译到Java应用程序中.所有这些文件共享许多相同的资源,因此是巨大的项目工作区).

到目前为止,我只能弄清楚如何为整个项目创建Ant构建文件,而不是将特定的.java文件构建到应用程序中,更不用说从中创建.jar了.

感谢您的帮助!

java eclipse ant jar

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

JAR文件在执行期间被修改

这是在我的程序最后一次失败之后.我注意到文件大小已经改变,我不能再运行我的程序的Java类:

root@dbs01 ~
$ ls -l lifecycle-0.1-SNAPSHOT.jar
-rw-r--r--   1 root     root     24740243 Jun  4 20:48 lifecycle-0.1-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)

这是在我复制原始JAR文件的新副本之后:

root@dbs01 ~
$ ls -l lifecycle-0.1-SNAPSHOT.jar
-rw-r--r--   1 root     root     24833475 Jun  4 20:55 lifecycle-0.1-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)

然后我运行Java命令:

root@dbs01 ~
$ java -cp lifecycle-0.1-SNAPSHOT.jar com.abc.lifecycle.cli.LifecycleManagerCli -dm web 0001 lm2-dom0.sfbay.abc.com ZONE /path/to/bits
Jun 4, 2009 8:55:51 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@186c6b2: display name [org.springframework.context.support.ClassPathXmlApplicationContext@186c6b2]; startup date [Thu Jun 04 20:55:51 GMT+00:00 2009]; root of context hierarchy
Jun 4, 2009 8:55:51 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jar

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

从jar中高效提取文件

我有一个用Java编写的应用程序,它使用一个jar文件(它使用多个,但这不是重点).

事实是,我正在使用的Jar文件包含我绝对必须提取到文件系统的文件.

到目前为止,我正在使用Class.getResourceAsStream和FileOutputStream,但这种方法有点慢.请注意,其中一些文件是基于文本的,但其他文件只是二进制文件.

因此,除了尝试减少从JAR中提取文件的需求之外,还有针对这些任务的任何优化(例如更充分的功能).

请注意,我的应用程序是基于Java 6的,我希望将外部依赖性降至最低.

编辑:为了将来参考,我的OLD(inefficent)代码是:

int c;
while((c = is.read())!=-1){
    fos.write(c);
}
Run Code Online (Sandbox Code Playgroud)

对于新的,更快的代码,请参阅接受的回复.

java copy jar extract

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

maven-jar-plugin和传递依赖

我正在使用程序集和jar插件来部署我的应用程序.我也使用jar插件来帮助我使用清单文件生成类路径

<addClasspath>true</addClasspath>
Run Code Online (Sandbox Code Playgroud)

虽然这似乎有效,但是当我尝试执行jar(它有一个适当的主类指定)时会出现问题 - 它将无法找到一个实际上是传递依赖的库.所以我的项目A依赖于项目B,项目B依赖于jar C.程序集插件将正确压缩A,B和C,但jar插件在清单中不包含C,导致ClassNotFoundException.

我没有看到maven-jar-plugin中的任何选项让我指定需要传递依赖.

我是以正确的方式做到的吗?其他人设法将清单中的传递依赖项生成?也许我做错了什么或出了问题.任何帮助赞赏.

maven-2 assemblies jar classpath maven-plugin

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

读取JAR文件的内容(在运行时)?

我看过帖子:

查看.jar​​文件的内容
以及
如何列出JAR文件中的文件?

但遗憾的是,我找不到一个好的解决方案来实际读取 JAR的内容(逐个文件).

此外,有人可以给我一个提示,或指向一个资源,我的问题在哪里讨论?

我只能想到一个不那么直接的方法来做到这一点:
我可以以某种方式将JAR资源列表转换为内部JAR URL列表,然后我可以使用openConnection()打开它.

java api jar

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

Pentaho Kettle的Src罐子

我在哪里可以找到一个用于水壶的src-jar?我正在寻找一个包含Java文件的jar,我可以将我的IDE指向(例如junit-4.6-src.jar).

java jar pentaho kettle

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

无法从命令行运行我的程序

我有一个main方法,它创建一个逻辑类的实例

 public static void main(String[] args) {
        try {
            Logic logic = new Logic(args[0]);
            ....... do some stuff here

        } catch (Exception e) {
            System.out.println("Error Encountered Details: " + e);
        }
    }
Run Code Online (Sandbox Code Playgroud)

问题是程序需要运行csv文件,我把它放在与.jar文件相同的目录中但是当我从命令行运行时我只是得到java.lang.arrayindexoutofbounds(0)错误

我究竟做错了什么

谢谢

java command-line jar

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

Spring Boot Maven 构建不包括最终 jar 中的工件版本

在使用 构建我的 Spring Boot 应用程序时mvn clean package,正在构建的最终工件 myapp.jar 的 jar 名称中没有包含版本号。
我应该做什么改变才能使工件版本号成为 jar 的一部分。
pom.xml 的相关部分如下 -

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycomp</groupId>
    <artifactId>myapp</artifactId>
    <version>2.6.0</version>

    <name>myapp</name>
    <description>
        <![CDATA[]]>
    </description>

    <packaging>jar</packaging>

    <properties>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.8</java.version>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>

        <springboot.version>2.5.6</springboot.version>

    </properties>

    <dependencies>

        <!-- Spring boot -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <version>${springboot.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>5.3.12</version>
        </dependency>
        ...
        <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-artifact</artifactId>
            <version>3.6.3</version>
        </dependency>

    </dependencies>

    <build>

        <finalName>gitlab-finder</finalName>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.1.2</version> …
Run Code Online (Sandbox Code Playgroud)

java jar maven spring-boot

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

无法运行 jar 文件(LinkageError、UnsupportedClassVersionError)

我尝试从 Visual Studio Code 中使用 JavaFX 的项目创建一个 jar 文件。当我在 VSCode 中运行该应用程序时,它工作正常,但是当我将其导出到 jar 文件时,它会抛出错误:

错误:加载主类 HelloFX 时发生 LinkageError java.lang.UnsupportedClassVersionError:未为 HelloFX 启用预览功能(类文件版本 65.65535)。尝试使用“--enable-preview”运行

所以我收集这个错误是因为我用比我的JRE更新的版本编译了jar文件..但是当我使用“javac -version”和“java -version”时我得到相同的(21.0.2)(这已经是在我的系统变量 JAVA_HOME 和 Path 变量中设置)..我还发现我需要在 launch.json 文件的 vmArgs 参数中添加 '--enable-preview' (现在全文为: "vmArgs": "-- enable-preview --module-path "C:/Program Files/Java/javafx-sdk-21.0.2/lib" --add-modules javafx.controls,javafx.fxml" 因为我还需要添加 javafx sdk )

我创建了一个新项目来显示我的 java 版本和 javaFX 版本

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class HelloFX extends Application {

    @Override
    public void start(Stage stage) {
        String javaVersion = System.getProperty("java.version");
        String javafxVersion = …
Run Code Online (Sandbox Code Playgroud)

java javafx jar

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