将maven的java工程打成jar包

有这么一个需求,有一个类有一个main方法,里面有一些业务操作,比如要发送http请求去查询一个数据等等,需要引入第三方依赖包。然后把这个类打成一个jar包,当运行这个jar包后就执行这个类的main方法

项目工程结构

 

 

 

pom.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<dependencies>
    <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
      <version>4.5.6</version>
    </dependency>
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.62</version>
    </dependency>
  </dependencies>
 
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
          <source>11</source>
          <target>11</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>3.2.4</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <transformers>
                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                  <mainClass>SambaMount</mainClass> <!-- 替换为你的SambaMount类的全路径 -->
                </transformer>
              </transformers>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  

然后执行命令 mvn clean package 打包

 

 

将单独的某个java类打成一个jar包(没有依赖,里面有一个main方法)。比如有一个SambaMount.java类

manifest.txt内容有换行符

 

 

执行如下命令生成jar文件

javac SambaMount.java
jar cfm SambaMount.jar manifest.txt SambaMount.class

 

posted on   james-roger  阅读(65)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 欧阳的2024年终总结,迷茫,重生与失业
· 聊一聊 C#异步 任务延续的三种底层玩法
· 上位机能不能替代PLC呢?
· 2024年终总结:5000 Star,10w 下载量,这是我交出的开源答卷
· .NET Core:架构、特性和优势详解
历史上的今天:
2016-07-10 iframe session过期跳转到登陆页面
点击右上角即可分享
微信分享提示