在Intellij 13上,创建的可执行jar无效或已损坏

Art*_*ião 6 java jar intellij-idea executable-jar intellij-13

我尝试从Intellij 13(win8)上的项目创建一个可执行jar,遵循这些答案如何正确地从IntelliJ构建jar?并执行创建的jar,然后我得到"错误:Invaid或corrupt jarfile",然后是jar的路径.

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

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

我使用maven scafold创建了项目,但是没有依赖于pom.xml.

我正在使用java7.缺少什么?

神器

Mar*_*ies 7

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

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

我不知道为什么甚至需要它,但似乎IntelliJ IDEA默认情况下不包含META-INF文件夹

在此输入图像描述

指向文件:

在此输入图像描述


Art*_*ião 5

由于我无法使用IDEA本身创建一个jar,而我之前使用maven脚手架创建了我的项目,所以我决定使用maven来创建可执行jar.为此,我添加到pom.xml:

<packaging>jar</packaging>
<properties>
    <jdk.version>1.7</jdk.version>
</properties>
<name>Project Name</name>
Run Code Online (Sandbox Code Playgroud)

在构建标记中:

<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>
Run Code Online (Sandbox Code Playgroud)

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

<dependencies>
    <dependency>
        <groupId>com.intellij</groupId>
        <artifactId>forms_rt</artifactId>
        <version>5.0</version>
    </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

之后,我只是mvn package在cmd上使用了项目目录.

字体: