从IntelliJ中的选定类创建不可执行的JAR

时间:2014-02-22 08:47:12

标签: jar intellij-idea

在Eclipse中,有一个选项Export - > JAR文件。然后我们选择想要导出到输出jar的理想类。

我们怎么能在IntelliJ中做到这一点?

2 个答案:

答案 0 :(得分:2)

我不知道你是否需要这个答案,但今天我遇到了同样的问题,我想出了如何解决它。 请按照以下步骤操作:

  1. 文件 - >项目结构(Ctrl + Alt + Shift + S);
  2. 转到“工件”菜单 - >点击“+”按钮 - > JAR - >来自具有依赖关系的模块......
  3. 选择要生成Jar文件的模块;
  4. 不要选择任何主类;
  5. 在库菜单中的JAR文件中,选择“提取到目标JAR”选项 - >单击“确定”;
  6. 命名您的jar文件 - >选择输出目录 - >单击“应用”和“确定”;
  7. 完成这些步骤后,请转到:构建 - >建造工件......
  8. 将显示一个飞行菜单,其中包含您之前创建的工件;
  9. 点击Build并完成。
  10. 希望这有助于您和所有遇到此问题的人。 我整天都在浪费尝试使用FatJar在Eclipse上生成jar文件而我无法生成它。

答案 1 :(得分:0)

您可以使用Ant来做到这一点。

  1. 创建您的Ant项目。
  2. 将ant文件拖放到Ant Build视图中。
  3. 执行任务以生成.jar文件。

 IntelliJ Ant Build view

<?xml version="1.0" encoding="utf-8"?>
<project name="CustomJar" default="dist" basedir=".">
    <description>
        Package clases selected package to jar.
    </description>
    <!-- set global properties for this build. **** The paths are relative to the ant file location *** -->
    <property name="src" location="../src/main/java/com/dto/myclasespackage"/>
    <property name="build" location="../build"/>
    <property name="dist" location="../dist/custom_jar"/>
    <property name="version" value="1.0"/>

    <target name="init">
        <!-- Create the time stamp -->
        <tstamp/>
        <!-- Create the build directory defined above -->
        <mkdir dir="${build}"/>
    </target>

    <target name="compile" depends="init" description="compile the source">
        <!-- Compile java code from ${src} into ${build} -->
        <javac srcdir="${src}" destdir="${build}"/>
    </target>

    <target name="dist" depends="compile" description="generate the distribution">
        <buildnumber/>
        <!-- Create the distribution directory -->
        <mkdir dir="${dist}/lib"/>

        <!-- Put everything in ${build} into the MyApplication-${version}.${build.number}.jar -->
        <jar destfile="${dist}/lib/desglose-reports-beans-${version}.${build.number}.jar" basedir="${build}"/>
    </target>

    <target name="clean" description="clean up">
        <!-- Delete the ${build} and ${dist} directories -->
        <delete dir="${build}"/>
        <delete dir="${dist}"/>
    </target>
</project>