Java项目打包:jar包

1 IDE:IDEA打包jar

1.0 新建Maven项目

参考博客:Maven部署JavaWeb

1.2 配置

在这里插入图片描述

图1.0 添加Artifiacts

在这里插入图片描述

图1.2 创建Jar模型

说明:若要在输出文件夹显示使用的第三方包,则选择copy to ...,将第三方包暴露在输出文件夹中,若只需要一个jar包(将使用的jar封装为一个jar包),选择extract to ...

在这里插入图片描述

图1.3 新建第三方包文件夹

在这里插入图片描述

图1.4 导入第三方jar包

在这里插入图片描述

图1.5 第三方jar包导入成功

在这里插入图片描述

图1.6 创建artifacts

在这里插入图片描述

图1.7 创建artifacts确认

在这里插入图片描述

图1.8 查看jar包生成路径

1.3 运行

cd /home/xdq/xinPrj/java/javaTest/JavaFunctionTest/out/artifacts/JavaFunctionTest_jar
java -jar JavaFunctionTest.jar

1.4 打包scala为jar

添加pom.xml文件,按照如上方式打包即可。

<properties>
    <spark.version>2.1.1</spark.version>
    <scala.version>2.11</scala.version>
</properties>
<build>
    <plugins>
        <plugin>
            <groupId>org.scala-tools</groupId>
            <artifactId>maven-scala-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                        <goal>testCompile</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <scalaVersion>${scala.version}</scalaVersion>
                <args>
                    <arg>-target:jvm-1.5</arg>
               </args>
            </configuration>
        </plugin>

        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.0</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19</version>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>

    </plugins>
</build>

2 maven命令打包jar

2.1 pom.xml

<?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>java.function.test</groupId>
    <artifactId>JavaFunctionTest</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
        </dependency>
    </dependencies>

    <build>
        <finalName>JavaFunctionTest</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                            <mainClass>basic.datatype.datatest.OutputTest</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

2.2 打包jar

mnv package

2.3 运行jar

java -jar JavaFunctionTest.jar

3 小坑

(1) 找不到主类
建立jar的方式错误,使用Maven Package直接建立;
(2) 运行jar包出错

Error: Invalid or corrupt jarfile JavaFunctionTest.jar

META-INF路径配置错误,默认路径不对,应该放在项目根路径下.
(3) 若要在输出文件夹显示使用的第三方包,则选择copy to ...,将第三方包暴露在输出文件夹中,若只需要一个jar包(将使用的jar封装为一个jar包),选择extract to ...。。
(4) mvn命令打包,缺少Main-Class,需要添加插件:

<build>
        <finalName>JavaFunctionTest</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                            <mainClass>basic.datatype.datatest.OutputTest</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

[参考文献]
[1]https://blog.csdn.net/linfeng_csdn/article/details/81396030
[2]https://blog.csdn.net/qq_31914787/article/details/88064557
[3]https://www.cnblogs.com/flyToDreamJava/p/8991201.html
[4]https://www.cnblogs.com/654wangzai321/p/9513488.html
[5]https://blog.csdn.net/h70614959/article/details/41697189/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
JavaWeb的jar包 antlr-2.7.7.jar aopalliance-1.0.jar asm-3.1.jar aspectjrt-1.6.0.jar aspectjtools-1.6.0.jar aspectjweaver-1.6.0.jar bcprov-jdk16-1.46.jar c3p0-0.9.1.2.jar cas-client-core-3.3.3.jar cglib-2.2.2.jar commons-beanutils-1.8.0.jar commons-cli-1.2.jar commons-codec-1.9.jar commons-collections-3.2.1.jar commons-dbcp-1.4.jar commons-fileupload-1.3.1.jar commons-httpclient-3.1.jar commons-io-2.4.jar commons-lang-2.6.jar commons-lang3-3.3.2.jar commons-logging-1.1.1.jar commons-net-3.5.jar commons-pool-1.6.jar DataCenter-util-0.0.1-20161202.072205-3.jar DmDialect-for-hibernate4.0-jdk1.6.jar dom4j-1.6.1.jar elasticache-java-cluster-client-1.0.61.0.jar ezmorph-1.0.6.jar freemarker-2.3.8.jar ftp-1.0.0.jar ggserver-core-1.0.jar ggserver-thematic-1.0.jar gson-1.6.jar hibernate-commons-annotations-4.0.5.Final.jar hibernate-core-4.3.8.Final.jar hibernate-jpa-2.1-api-1.0.0.Final.jar httpclient-4.0.jar httpclient-4.1.1.jar httpcore-4.0.jar httpcore-4.1.jar httpcore-nio-4.0.jar httpmine-4.0.jar ibatis-2.3.4.726.jar jackson-all-1.7.4.jar jackson-annotation-2.3.0.jar jackson-core-2.3.3.jar jackson-databind-2.3.3.jar java_websocket.jar javassist-3.11.0.GA.jar jaxen-1.1.jar jboss-logging-3.1.4.GA.jar jboss-logging-annotations-1.2.0.Final.jar jboss-transaction-api_1.2_spec-1.0.0.Final.jar jcifs-1.3.17.jar jcl-over-slf4j-1.7.10.jar jdom-2.0.5.jar jmemcached-core-1.0.0.jar jmock-1.2.0.jar jmock-cglib-1.2.0.jar jodconverter-2.2.2.jar jodconverter-cli-2.2.2.jar json-20140107.jar json-lib-2.2.3-jdk15.jar jsqlparser-0.8.0.jar jstl-1.2.jar juh-3.0.1.jar jurt-3.0.1.jar jzlib-1.1.3.jar log4j-1.2.16.jar mongo-java-driver-3.2.2.jar mysql-connector-java-5.0.8.jar ognl-3.0.5.jar ojdbc6-1.0.jar pdfbox-app-1.6.0.jar poi-3.12.jar poi-examples-3.12.jar poi-excelant-3.12.jar poi-ooxml-3.12.jar poi-ooxml-schemas-3.12.jar poi-scratchpad-3.12.jar ridl-3.0.0.jar simple-spring-memcached-3.5.0.jar slf4j-api-1.6.0.jar slf4j-log4j12-1.6.0.jar solr-solrj-3.4.0.jar spring-aop-4.1.6.RELEASE.jar spring-aspects-4.1.6.RELEASE.jar spring-beans-4.1.6.RELEASE.jar spring-cache-3.3.0.jar spring-context-4.1.6.RELEASE.jar spring-context-support-4.1.6.RELEASE.jar spring-core-4.1.6.RELEASE.jar spring-data-commons-1.10.0.RELEASE.jar spring-data-mongodb-1.7.0.RELEASE.jar spring-expression-4.1.6.RELEASE.jar spring-instrument-4.1.6.RELEASE.jar spring-instrument-tomcat-4.1.6.RELEASE.jar spring-jdbc-4.1.6.RELEASE.jar spring-jms-4.1.6.RELEASE.jar spring-messaging-4.1.6.RELEASE.jar spring-orm-4.1.6.RELEASE.jar spring-oxm-4.1.6.RELEASE.jar spring-security-acl-3.1.6.RELEASE.jar spring-security-aspects-3.1.6.RELEASE.jar spring-security-cas-3.1.6.RELEASE.jar spring-security-config-3.1.6.RELEASE.jar spring-security-core-3.1.6.RELEASE.jar spring-security-crypto-3.1.6.RELEASE.jar spring-security-ldap-3.1.6.RELEASE.jar spring-security-openid-3.1.6.RELEASE.jar spring-security-remoting-3.1.6.RELEASE.jar spring-security-taglibs-3.1.6.RELEASE.jar spring-security-web-3.1.6.RELEASE.jar spring-test-4.1.6.RELEASE.jar spring-tx-4.1.6.RELEASE.jar spring-web-4.1.6.RELEASE.jar spring-webmvc-4.1.6.RELEASE.jar spring-webmvc-portlet-4.1.6.RELEASE.jar spring-websocket-4.1.6.RELEASE.jar struts2-core-2.3.20.jar struts2-json-plugin-2.3.20.jar struts2-sitemesh-plugin-2.0.14.jar struts2-spring-plugin-2.3.20.jar trove4j-2.0.2.jar ueditor-1.1.1.jar unoil-3.0.1.jar userSystem-1.0.jar velocity-1.5.jar xmemcached-2.0.0.jar xmemcached-provider-3.5.0.jar xmlbeans-2.6.0.jar xom-1.1.jar xpp3_min-1.1.4c.jar xstream-1.3.1.jar xwork-core-2.3.20.jar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天然玩家

坚持才能做到极致

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值