IDEA中如何正确快速打jar包的方式

 更新时间:2020年06月30日 09:30:44   作者:qq_41704237  
这篇文章主要介绍了IDEA中如何正确快速打jar包,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1、打开idea 如图所示:点击箭头所指的位置:

在这里插入图片描述

2、选择你自己要打包的available element 后 如图所示 逐步点击即可

在这里插入图片描述

进入如下页面 点击ok

在这里插入图片描述

打包完成 来到主页面 对新打的jar包 build

在这里插入图片描述

选择刚打的新包build

在这里插入图片描述

此时jar包完成 在如下界面查看

在这里插入图片描述

ps:idea打jar包方式,

方式一

使用idea自带的打包方式

点击File ->project structure 

  选择Artifacts 然后点击绿色加号

   按图一次选择 点击

  完成后会弹出此界面  此时需要注意 信息的填写十分重要 否则将不能运行

1和2可以使用默认的1 这样打出的jar包路径信息不会打到MANIFEST.MF文件中 选择2会打到该文件中

3必须修改一下 具体原因不清楚 本人在此处卡住 需要修改为src/或者src/main

 之后保存 然后点击Build -> Build Artifacts

之后会在工程中存在一个out目录 将jar包导出就可以了

方式二

使用maven plugins打包

<build>
  <plugins>
    <!-- 编译插件 这个可以不使用 -->
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>2.3.2</version>
      <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>UTF-8</encoding>
        <compilerArguments>
          <verbose />
          <bootclasspath>${java.home}/lib/rt.jar</bootclasspath>
        </compilerArguments>
      </configuration>
    </plugin>

    <!-- 项目依赖插件 -->
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-dependency-plugin</artifactId>
      <configuration>
        <outputDirectory>${project.build.directory}/lib</outputDirectory>
        <excludeTransitive>false</excludeTransitive> <!-- 表示是否不包含间接依赖的包 -->
        <stripVersion>false</stripVersion> <!-- 去除版本信息 -->
      </configuration>

      <executions>
        <execution>
          <id>copy-dependencies</id>
          <phase>package</phase>
          <goals>
            <goal>copy-dependencies</goal>
          </goals>
          <configuration>
            <!-- 拷贝项目依赖包到lib/目录下 -->
            <outputDirectory>${project.build.directory}/lib</outputDirectory>
            <excludeTransitive>false</excludeTransitive>
            <stripVersion>false</stripVersion>
          </configuration>
        </execution>
      </executions>
    </plugin>

    <!-- 项目资源插件 -->
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-resources-plugin</artifactId>
      <version>2.6</version>
      <executions>
        <execution>
          <id>copy-resources</id>
          <phase>package</phase>
          <goals>
            <goal>copy-resources</goal>
          </goals>
          <configuration>
            <encoding>UTF-8</encoding>
            <!-- 拷贝项目src/main/resources/下,除.bat以外的所有文件到conf/目录下 -->
            <outputDirectory>${project.build.directory}/conf</outputDirectory>
            <resources>
              <resource>
                <directory>resource</directory>
                <filtering>true</filtering>
                <excludes>
                  <exclude>*.bat</exclude>
                </excludes>
              </resource>
            </resources>
          </configuration>
        </execution>
        <execution>
          <id>copy-command</id>
          <phase>package</phase>
          <goals>
            <goal>copy-resources</goal>
          </goals>
          <configuration>
            <encoding>UTF-8</encoding>
            <!-- 只拷贝项目src/main/resources/目录下的.bat文件到输出目录下 -->
            <outputDirectory>${project.build.directory}</outputDirectory>
            <resources>
              <resource>
                <directory>src/main/resources/</directory>
                <filtering>true</filtering>
                <includes>
                  <include>*.bat</include>
                </includes>
              </resource>
            </resources>
          </configuration>
        </execution>
      </executions>
    </plugin>

    <!-- 打包插件 -->
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>2.4</version>
      <configuration>
        <archive>
          <!-- 生成MANIFEST.MF的设置 -->
          <manifest>
            <!-- 为依赖包添加路径, 这些路径会写在MANIFEST文件的Class-Path下 -->
            <addClasspath>true</addClasspath>
            <classpathPrefix>lib/</classpathPrefix>
            <!-- jar启动入口类-->
            <mainClass>test.data.com.pythonMain.PMain</mainClass>
          </manifest>
          <manifestEntries>
            <!-- 在Class-Path下添加配置文件的路径到MANIFEST -->
            <Class-Path>conf/</Class-Path>
          </manifestEntries>
        </archive>
        <includes>
          <!-- 打jar包时,只打包class文件 -->
          <include>**/*.class</include>
        </includes>
      </configuration>
    </plugin>
  </plugins>
</build>

此时在target目录下会存在jar文件和 lib和conf文件夹 需要将这些包一起Copy出去  然后java -jar XX.jar 就可以了

mvn clean package -Ptest -Dmaven.test.skip=true   maven打包命令

到此这篇关于IDEA中如何正确快速打jar包的图文教程的文章就介绍到这了,更多相关idea 打jar包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mybatis-plus 版本不兼容问题的解决

    mybatis-plus 版本不兼容问题的解决

    这篇文章主要介绍了mybatis-plus 版本不兼容问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 解决springboot URL带有斜杠的转义字符百分之2F导致的400错误

    解决springboot URL带有斜杠的转义字符百分之2F导致的400错误

    这篇文章主要介绍了解决springboot URL带有斜杠的转义字符百分之2F导致的400错误问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • 用代码更新你的jar包

    用代码更新你的jar包

    这篇文章主要介绍了用程序代码更新com目录下的所有文件到jar的对应目录结构中去,这样可以做到自动更新程序吧
    2014-01-01
  • JAVA ImageIO.read方法报错/无效问题及解决

    JAVA ImageIO.read方法报错/无效问题及解决

    这篇文章主要介绍了JAVA ImageIO.read方法报错/无效问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Java如何计算两个时间段内的工作日天数

    Java如何计算两个时间段内的工作日天数

    这篇文章主要介绍了Java如何计算两个时间段内的工作日天数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Java基础夯实之线程问题全面解析

    Java基础夯实之线程问题全面解析

    操作系统支持多个应用程序并发执行,每个应用程序至少对应一个进程 。进程是资源分配的最小单位,而线程是CPU调度的最小单位。本文将带大家全面解析线程相关问题,感兴趣的可以了解一下
    2022-11-11
  • Java 输入输出 IO NIO AIO三兄弟对比分析对比分析

    Java 输入输出 IO NIO AIO三兄弟对比分析对比分析

    这篇文章主要为大家介绍了Java 输入输出 IO NIO AIO三兄弟对比分析对比分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Java日常练习题,每天进步一点点(32)

    Java日常练习题,每天进步一点点(32)

    下面小编就为大家带来一篇Java基础的几道练习题(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望可以帮到你
    2021-07-07
  • Java求解两个非负整数最大公约数算法【循环法与递归法】

    Java求解两个非负整数最大公约数算法【循环法与递归法】

    这篇文章主要介绍了Java求解两个非负整数最大公约数算法,结合实例形式分析了java求解最大公约数的实现方法,并附带了循环法与递归法算法思路,需要的朋友可以参考下
    2018-03-03
  • SpringBoot Actuator未授权访问漏洞修复详解

    SpringBoot Actuator未授权访问漏洞修复详解

    这篇文章主要介绍了SpringBoot Actuator未授权访问漏洞修复详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08

最新评论