首页 > 其他分享 >Maven打包部署

Maven打包部署

时间:2022-12-13 13:34:25浏览次数:47  
标签:部署 jar eclipse Maven 编译 clean 主类 打包

Maven打Jar包

问题一

Eclipse突然SB告诉我类不存在还让我导包进来O__O "…,但是我明明有这个类。
这是不要慌,通过在网上搜索得知:
​​​由于eclipse的编译是基于时间戳的判断机制的。​​​因此当你按build all的时候有些eclipse认为时间戳没有改变的类不会被编译。 因此你可以先clean一下再编译。这个时候eclipse会将所有的以前编译信息清除然后编译。 
eclipse --->project ----->clean...选项将工程中的.class文件删除,同时重新编译工程,类似于jbuild中的rebuild。
见下图Clean结束之后会自动进行Build

Maven打包部署_jar

Maven打包部署_jar_02

问题二

找不到主类或无法加载主类的问题
是因为.java文件不在项目的src路径内,也就是说源代码未被eclipse编译,字节码不存在无法运行了,在项目名上右键 -> Builder Path -> Configure Build Path -> 选择Source面板,再点Add Folder, 把源代码所在的包路径的上层目录加进来,而且如果你是把两个类写在一个文件里的话,你在右键选择Run As Java Appication 的时候,要把光标至于包括main方法的类上(相当于指定主类入口)。

Maven打包部署_jar_03

问题三

在打包之前配置maven的pom.xml 见下图

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

问题四

cmd打包时出现错误
clean (default-clean) on project open: Failed to clean project: Failed to delete
这个是因为windows只会告诉你该文件被其他程序占用,但不会告诉是哪个!
一般情况下给Maven项目打包的话要先将tomcat给关掉,儿SpringBoot中内嵌tomcat的,所以不太好手动关掉。
在cmd下查找一下
查看所有端口占用情况:netstat -ano
查看指定端口占用情况:netstat -ano|findstr "8080"(通过这个可以找到Pid)

Maven打包部署_进程名_04

查看Pid对应的进程:tasklist|findstr "123"(通过这个可以找到进程名)

 

Maven打包部署_jar_05

杀死进程:taskkill /f /t /im 进程名

Maven打包部署_eclipse_06

问题五

跳转到应用的目录下时使用mvn clean package报错

因为target目录下本身就是空的所以不用clean直接mvn package即可

然后在targe目录下找到刚才打好的jar包
java -jar messagepush1-0.0.1-SNAPSHOT.jar

Maven打包部署_进程名_07

将服务停止后用sftp传输到服务器上


Maven打包部署_eclipse_08

作者:​​翎野君​

若本文如对您有帮助,不妨点击一下右下角的。


如果您喜欢或希望看到更多我的文章,可扫描二维码关注我的微信公众号《翎野君》。


转载文章请务必保留出处和署名,否则保留追究法律责任的权利。



标签:部署,jar,eclipse,Maven,编译,clean,主类,打包
From: https://blog.51cto.com/lingyejun/5933854

相关文章