【Java】Maven打包,小细节

一、假设

1、假设你具有测试服务器的操作权限

2、假设你们测试服务器还没有上jenkins

3、假设每次测试或修复BUG后,需要手动打包并发布到测试环境

4、假设你用的是IDEA

5、假设你们代码管理用的是Git

二、问题:为什么我打的包有时候是最新代码,有时候却不是呢?

1、优先出解决方案: 先clean 再 package

2、原因说明

        1)不clean直接package,不会重新编译最新代码,而是将target的代码直接打包

        2)那为什么偶尔是最新代码呢? 推测:打包时,target下classes的代码为空,也就是没有编译,package会执行compile

三、建议

1、常规呢,大多数习惯编码和打包在同一个IDEA里面,修改下配置就行(每次打包需要切换本地开发,略有点繁琐)

2、尝试下将项目代码拉取两份,比如:

3、目录说明

        1)dev,用于本地开发

        2)master,用于提交确认与打包

        3)有时候提交,容易遗漏某个实体bean的提交,编译就失败了;需要其他的同事小伙伴来问“是不是哪个没提交”

        4)这个时候,master这个目录就起作用了,拉取相同的代码,相同的分支;IDEA,build一下,就知道是不是漏提代码

        5)打包呢,相同的道理;master目录把项目切到相应的开发分支,配置调整一次,每次拉取最新,clean package即可

        6)temp,可以放一些临时的代码,随时可以删除,允许报错

四、思想传承

1、写代码,是件很爽的事

2、让别人觉得舒服,不失为一种乐趣

3、代码验证,只有测试老师测的爽了,用户才会用的舒服

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 9 之后,Java 开始支持模块化编程。如果你使用 Java 9 或更高版本,可以按照以下步骤进行分模块打包: 1. 在你的项目根目录下创建 `module-info.java` 文件,并定义你的模块。例如,下面是一个简单的模块定义: ```java module com.example.myapp { requires some.dependency; exports com.example.myapp; } ``` 这个模块声明了一个对 `some.dependency` 模块的依赖,并导出了 `com.example.myapp` 包。 2. 在每个模块的源代码目录中创建 `module-info.java` 文件,并指定该模块所依赖的模块和导出的包。例如: ```java module com.example.myapp.module1 { requires com.example.myapp; exports com.example.myapp.module1; } ``` 这个模块声明了对主模块 `com.example.myapp` 的依赖,并导出了 `com.example.myapp.module1` 包。 3. 在每个模块的源代码目录中创建 `src/main/java` 目录,并将模块的 Java 源代码放在其中。 4. 在项目根目录下创建 `src/main/resources` 目录,并将模块的资源文件放在其中。 5. 在项目根目录下创建 `src/main/module-info.java` 文件,并声明该项目的模块。例如: ```java module com.example.myapp { requires com.example.myapp.module1; requires com.example.myapp.module2; } ``` 这个模块声明了对 `com.example.myapp.module1` 和 `com.example.myapp.module2` 模块的依赖。 6. 执行以下 Maven 命令打包项目: ``` mvn clean package ``` 打包后,每个模块的 JAR 文件将位于 `target` 目录下的相应子目录中。 以上就是将 Java 项目分模块打包的步骤。当然,具体的操作细节可能会因为不同的构建工具而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值