idea中怎么打jar包

发布时间:2021-06-15 14:04:39 作者:Leah
来源:亿速云 阅读:180

idea中怎么打jar包,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

方式一

使用idea自带的打包方式

点击File ->project structure 

idea中怎么打jar包

选择Artifacts 然后点击绿色加号

idea中怎么打jar包

按图一次选择 点击

idea中怎么打jar包

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

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

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

 之后保存 然后点击Build -> Build Artifacts
idea中怎么打jar包

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

方式二
使用maven plugins打包

在pom.xml文件中加入 如下配置
<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打包命令
 

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

推荐阅读:
  1. spring boot打jar包发布的方法
  2. IDEA中MAVEN项目如何打包JAR包

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

idea

上一篇:FastDFS 与nginx怎么在centos 7.x系统中安装

下一篇:jQuery如何实现动态添加li标签并添加属性和绑定事件

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》