Maven在java中的实现(对java的项目进行打包)

前言:

        在前面的文章中我们了解了Maven的作用,并在自己的电脑上安装配置好了Maven,也成功的在IDEA中添加了Maven,但是具体的实现还是有一些些小问题,那么接下来,我将带着大家对Java项目进行一次打包,系统的完成一次,并在途中解决一下会出现的问题.

我以图片中选中的这个包为例,用Maven进行打包

鼠标右击这个包,然后点击Add Framework Support...

进入到这个窗口,左侧栏最底下找到Maven,勾选上后,OK确认

然后就会自动创建.xml的文件,你需要在其中添加一些标签,来为打包做准备

添加了两部分:一部分为设置Java源代码兼容性和编译器版本;一部分为打包的小程序(代码如下)

<properties>
        <maven.compiler.source>1.8</maven.compiler.source> <!-- 设置 Java 源代码兼容性 -->
        <maven.compiler.target>1.8</maven.compiler.target> <!-- 设置编译的目标 JVM 版本 -->
    </properties>
<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptorRefs>
                        <!--给 jar 包起的别名-->
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                            <!--添加项目中主类-->
                            <mainClass>com.ffyc.chatrom.client.frame.Run</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

注意:在小程序中,需要你添加项目中主类(main函数)

如果你的这个代码中引用了其他的jar包,你还需要添加依赖信息(以MySQL为例)

<dependencies>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
</dependencies>

Maven 仓库官网(http://mvnrepository.com/)如下图所示: 在此官网就可以下载自己所需开发 jar 包

还有一件事:

在你的settings中,按照图中所示找到位置,检查一下Maven home directory;User settings file;Local repository这三个是否配置好了(否则Maven在添加jar包会很慢很慢)

检查无误后,再点击这个按钮刷新(一般在页面的右上角)

注意你的右侧栏,Maven的指令在这里面,点击maven,就会出现状态栏

第一次打包就一次点击compile-->package即可(是双击哦,单击可不会运行)

之后如果对文件进行了修改,需要重新打包的话,就在这两步之前,双击clean即可

然后你要打包的这个包里面就会出现target文件夹,点击进去,底下有两个jar包,最底下的那个jar包就是你最终打的包,将这个jar包发送给你的朋友,即使他没有安装IDEA,也能运行这个程序了!(但是需要安装JDK哦,否则依旧是运行不了)

怎么运行呢?

桌面右击,打开终端,输入命令:java -jar 文件名.jar  即可运行

(别傻傻的把这么长的文件名输进去,你可是可以更改文件名的哦)

至此,Maven打包就讲解完毕啦!礼成!

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
当使用`java -jar`命令运行一个Maven打包项目时,出现"no main manifest attribute, in java-***-SNAPSHOT.jar"错误通常是由于缺乏主清单属性导致的。 主清单属性是用于标识可执行JAR文件的入口点的,它告诉Java虚拟机应该运行哪个类作为程序的起点。在Maven打包过程,如果没有正确配置主清单属性,那么在运行JAR文件时会出现此错误。 有几种可能的原因导致这个问题。其一种可能是在创建Spring Boot项目时,自动导入的spring-boot-maven-plugin插件添加了`<skip>true</skip>`标签,导致主类被忽略。 要解决这个问题,你可以在pom.xml文件手动配置主清单属性。你需要确保在`<build>`标签下的`<plugins>`标签添加了正确的配置,指定了项目的主类。例如: ``` <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <mainClass>com.example.MyApplication</mainClass> </configuration> </plugin> </plugins> </build> ``` 在上面的配置,`com.example.MyApplication`是你的项目的主类。你需要根据你的项目结构和主类的包名进行相应的修改。 完成配置后,重新运行Maven打包命令,确保生成的JAR文件包含了正确的主清单属性。然后再次尝试用`java -jar`命令运行JAR文件,这个错误应该就会消失了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【Mavenmaven生命周期-jar没有主清单属性no main manifest attribute, in java](https://blog.csdn.net/forest_long/article/details/129474087)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [java打包maven启动报错jar没有主清单属性](https://blog.csdn.net/Xhani/article/details/131243454)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

刘伊珂

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值