如何从intellij项目创建可执行JAR文件?

时间:2015-12-19 00:20:37

标签: java intellij-idea executable-jar

我一直在寻找罐子说无法找到主类的原因

项目:
4类文件
属性文件
2个图书馆(来自Maven)

清单文件:

Manifest-Version: 1.0
Main-Class: all.GuiApp

所有课程都在同一个包“all”

我在intellij工件中添加了工件 - 并指定了主类。尝试了“提取到JAR”和“复制到输出和链接”的两个选项

当我双击它时,它什么都不做 当我从命令行执行它时,它给我一条消息,说它无法找到主类。我不知道还有什么可以让它发挥作用。

编辑:
运行以下命令实际上让我更近了一步,它是否以某种方式看不到清单文件?我如何确保它在正确的位置?

java -classpath jarName.jar all.GuiApp

在此步骤之后,它告诉我它找不到我的属性文件。我甚至复制了src / main / resources文件夹结构并在那里添加了文件(以及根jar存档中,但它仍然无法加载它。

POM文件:

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>updateTimes</groupId>
    <artifactId>update_ms</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongo-java-driver</artifactId>
            <version>2.10.1</version>
        </dependency>
        <dependency>
            <groupId>com.jcraft</groupId>
            <artifactId>jsch</artifactId>
            <version>0.1.53</version>
        </dependency>

    </dependencies>
</project>

GuiApp的主要声明:

 public static void main(String[] args) {

1 个答案:

答案 0 :(得分:0)

似乎问题是我在intellij中看到的清单文件是正确的,被maven库覆盖了。从我看到我需要为外部库创建一个jar,并分别编译我的代码。

我通过使用jch和mongo的外部jar文件纠正了这个问题(在同事的帮助下)。然后我在类路径中引用了它。由于我没有外部库,我的清单文件没有被覆盖。