我尝试在Intellij 13(win8)的项目中创建一个可执行jar,遵循这些答案How to build jars from IntelliJ properly?并执行创建的jar,然后我得到"错误:Invaid或corrupt jarfile"然后是罐子的路径。
我的项目很简单,但有多个java文件和一个UI表单。
在构建完成后,在项目结构|工件上创建jar工件后,我调用构建工件|构建工件| Jar 。
我使用maven scafold创建了项目,但是没有依赖pom.xml。
我正在使用java7。 缺少什么?
答案 0 :(得分:7)
这是一个没有pom.xml的快速解决方案
我已经使用IntelliJ的工件设置解决了这个问题,方法是创建一个“META-INF”子文件夹并将Manifest文件复制到其中。
我不知道为什么甚至需要它,但似乎默认情况下IntelliJ IDEA不包含META-INF文件夹
指向文件:
答案 1 :(得分:5)
由于我无法使用IDEA本身创建一个jar,而我之前使用maven scaffold创建了我的项目,所以我决定使用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>
之后,我只在cmd上的项目目录中使用了mvn package
。
字体: