6

我尝试从 Intellij 13 (win8) 上的项目创建一个可执行 jar,遵循这些答案如何正确构建 IntelliJ 的 jar?并执行创建的 jar,然后我得到“错误:无效或损坏的 jarfile”,后跟 jar 的路径。

我的项目很简单,但是有多个 java 文件和一个 UI 表单。

在构建后,我在Project Structure|Artifacts上创建 jar 工件后调用Build|Build Artifacts|Jar

我使用 maven scafold 创建了项目,但对 pom.xml 没有依赖关系。

我正在使用java7。有什么遗漏吗?

神器

4

2 回答 2

7

这是一个没有 pom.xml 的快速解决方案

我通过创建“META-INF”子文件夹并在其中复制 Manifest 文件,使用 IntelliJ 的工件设置解决了这个问题。

我不知道为什么甚至需要这样做,但似乎 IntelliJ IDEA 默认不包含 META-INF 文件夹

在此处输入图像描述

指向文件:

在此处输入图像描述

于 2016-05-17T17:07:36.170 回答
5

由于我无法使用 IDEA 本身创建 jar,并且我之前使用 maven 脚手架创建了我的项目,因此我决定使用 maven 创建可执行 jar。为此,我添加到 pom.xml:

<packaging>jar</packaging>
<properties>
    <jdk.version>1.7</jdk.version>
</properties>
<name>Project Name</name>

在构建标签中:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>${jdk.version}</source>
                <target>${jdk.version}</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>main.Main</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

我也遇到了由 GUI-Designer 创建的 UI 的问题:NullPointerException在创建的窗格中。为了使它工作,我添加了一个依赖项:

<dependencies>
    <dependency>
        <groupId>com.intellij</groupId>
        <artifactId>forms_rt</artifactId>
        <version>5.0</version>
    </dependency>
</dependencies>

之后,我只是mvn package在 cmd 上的项目目录中使用。

字体:

于 2014-04-16T13:51:46.260 回答