myeclipse和maven的clean和build

转:

详解myeclipse和maven的clean和build

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35603331/article/details/80002723

MyEclipse是一个被广为使用的软件,但是很多人用了很久,对它如何编译,执行一个java工程却没有一个清楚的认识。比如,

  1. clean和build到底有什么区别?
  2. 直接run主类之前用不用clean一下?
  3. 直接clean和maven clean是不是一样的?
  4. 直接build和maven build,结果相同吗?

另外,在遇到最棘手的问题:

错误: 找不到或无法加载主类

的时候,很容易陷入懵逼状态。下面我结合我的一些实验,简单介绍下myeclipse的,clean,build,run,以及他们和maven clean,maven build的区别。

一.myeclipse的clean,build和run


首先,我们使用一个普通的maven工程作为例子。


  1. clean。作用很简单,清空输出目录下的所有文件,每一个source folder都有一个自己的输出目录,也就是output
    folder。这个目录可以在build path里进行设置,一个标准maven工程中,src/main/java通常的输出目录是
    工程名/target/classes
  2. build。build的作用则是编译,实际上就是把source fold下的所有文件转移到相应的output folder, .java文件先编译再转移,其他文件直接转移。在maven工程中,这个build其实相当于一次myeclipse自身的编译,最后再利用maven提取一下资源文件。
  3. 其实两者区别很明显了,很多时候我们分不清他和clean的区别,是因为myeclipse提供了很多便利的机制。clean的提示框如下:
    myeclipse-clean
    看到红框了吗,如果打勾,表示clean完毕之后立刻进行一次build,那看起来就和build没什么区别了。如果你把勾去掉,clean后去查看输出目录,就会发现输出目录被清空了。这里就不进行截图了。
    4.run。简单来说就是找一个main方法,直接右键,run java application,相信大家都用过。这个run,实际上就是去
    工程名/target/classes
    这个目录下去找class文件执行而已(如果不是maven工程,可能去工程名/classes下找),那么没有文件怎么办呢?如果你刚刚完成了clean,但是没有build,那么它会自动build一次。此外都会直接去找文件执行,如果找不到咋办?
错误: 找不到或无法加载主类

二.maven的clean和build

  1. maven clean
    默认情况下直接删除target文件夹。简单直接。
  2. maven build
    按照maven规则进行编译,和myeclipse无关,也就是说,不管你是不是设置了source folder,maven都按照他那一套进行编译,具体规则大家可以找maven文章深入学习。
  3. maven的一些规则。maven的默认输出文件夹也是
    工程名/target/classes,无论源代码还是资源文件,根目录都是这个文件夹,打包其实就相当于把这个文件夹打包而已。

三.总结


无论如何,build之前都应该clean,因为如果直接build,同名文件直接覆盖,非同名文件会保留,这有可能给程序带来未知的问题。如果myeclipse的输出文件夹设置合理,那么和maven build可能也不会出现什么不同。但是,在使用maven的情况下,直接使用myeclipse内置的build功能仍然可能会和maven build产生不完全一致的效果,比如maven可能会忽视src/main/java文件夹内的资源文件,而myeclipse会保留。
严格来说,myeclipse内置的编译功能,更多的是提供代码提示和检查功能,即使你完全不使用它,maven也可以正确编译。(当然这样你就享受不到代码提示之类的的了)。
但可以确定的是,使用maven clean build总是可以生成最精确的结果,所以推荐先maven clean build后再运行程序。

转载于:https://www.cnblogs.com/libin6505/p/10395333.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/278313.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三星Galaxy S20:如何开启黑暗模式

Justin Duino贾斯汀杜伊诺(Justin Duino)Samsung was one of the first Android manufacturers to add Dark Mode to its handsets. If you recently purchased a Galaxy S20, S20, or S20 Ultra, enabling the UI feature and setting it up on a schedule is extremely easy.…

nginx和apache限制IP地址访问的设置方法

一、nginx禁止IP地址访问1、在nginx配置文件中加入这个&#xff1a;2、重启nginx服务二、apache禁止IP地址访问1、更改vhosts.conf文件&#xff1a;NameVirtualHost 192.168.1.191 <VirtualHost 192.168.1.191:99>#DocumentRoot "/usr/local/kk-mail/data/www"…

wordweb在线编辑_使用WordWeb享受按需词典和词库功能

wordweb在线编辑Run across an unusual word or need a synonym for a word quickly? Usually that means opening a browser and doing the appropriate search. Now you can have all that word power goodness at your fingertips with WordWeb. 遇到一个不寻常的词还是需…

转://RMAN跨平台可传输表空间和数据库

参考链接&#xff1a; http://blog.itpub.net/23135684/viewspace-776048/ http://blog.sina.com.cn/s/blog_69e7b8d7010164xh.html https://www.2cto.com/database/201311/260446.html 这篇文章翻译自Oracle 11gR2官方文档。详细讨论了使用RMAN工具的CONVERT DATAFILE&#xf…

vnc数量限制_通过限制视觉效果在Vista上加速VNC

vnc数量限制This article was written by MetrotekGeek from Metrotek Solutions, a friend of the How-To Geek 本文由Metrotek Solutions的MetrotekGeek撰写&#xff0c;Metrotek Solutions是How-To Geek的朋友 As a computer field tech, I use the remote desktop program…

[转帖]外壳命名空间扩展

一般介绍 很多人一定用过ZipMagic&#xff0c;对它能把一个压缩文件映射成文件夹感到很奇怪&#xff0c;不知道它使用了什么技术&#xff0c;实际上它用到的技术就是实现了一个外壳的命名空间扩展&#xff08;Shell Namespace Extention&#xff09;。 文件夹和视图&#xff1a…

使Safari在Windows Vista上每20秒停止崩溃

The new Safari for Windows is a very slick browser that beats the pants off everything else in the speed department, but it crashes so much on Windows Vista that it’s virtually unusable. 新的Windows版Safari浏览器非常流畅&#xff0c;可以超越速度部门的所有…

[svc]jdk+tomcat部署.jforum论坛部署

安装jdk和tomcat jdk1.7.0_13(系列)下载url 我这里用的最新的jdk. 去官网下载即可cd /usr/local/src/ tar xf jdk-8u162-linux-x64.tar.gz -C /usr/local/ ln -s /usr/local/jdk1.8.0_162 /usr/local/jdk tar xf apache-tomcat-8.5.29.tar.gz -C /usr/local/ ln -s /usr/local/…

ipad和iphone切图_如何从iPhone和iPad上的Mail应用程序删除电子邮件帐户

ipad和iphone切图Nicole Lienemann/Shutterstock妮可利尼曼(Nicole Lienemann)/ ShutterstockWhen you add your Google account to your iPhone or iPad in the Settings app, you’re adding your Gmail account to the Mail app. If you prefer to use third-party email cl…

使用nmcli 实现 bond0 网络组 网桥三种模式

使用nmcli 实现 bond 网络组 网桥模式 bond0&#xff08;负载均衡&#xff09; step1&#xff1a;创建一个bond0的主属nmcli connection add con-name bond0 type bond ifname bond0 mode active-backup 之所以不为绿色是因为还没有创建从属&#xff0c;这个bond0相当于一个虚拟…

RabbitMQ是如何运转的?

前言 之前已经介绍了RabbitMQ交换机模型的相关简单概念&#xff0c;都是作为此篇的基础铺垫&#xff0c;如果对此篇不懂的可以先看我上一篇的介绍认识RabbitMQ交换机模型&#xff0c;或者联系评论&#xff0c;分享《RabbitMQ实战指南》电子书给大家&#xff0c;里面虽然有些许错…

如何种植屡获殊荣的青豆

Most people don’t know this yet, but I’ve decided to give up computers and become a farmer instead. Since I’m the helpful type, I’ve decided to share everything I know about farming with you, starting with how I won my prize winning green beans. 大多数…

充分利用Microsoft Planner的6种方法

Microsoft Planner is pretty simple to use, but some of its more useful features aren’t front and center. If you’re just creating and moving tasks, here are six ways to get a bit more out of Planner. Here’s everything you need to know. Microsoft Planner的…

最详细的排序解析,理解七大排序

最详细的排序解析&#xff0c;理解七大排序 mp.weixin.qq.com点击上方“方志朋”&#xff0c;选择“置顶或者星标” 你的关注意义重大&#xff01; 注&#xff1a; lgN在这里为1og2N简写 为了方便描述,本文默认用int类型比较&#xff0c;从小到大排序 本文排序算法以java语言…

xp删除管理员账户_在Windows XP中从登录屏幕删除用户帐户

xp删除管理员账户So you login to your computer every single day, but there’s more than one account to choose from… either because you got the computer from somebody else, or some software package added a user account that you really don’t want to see. So…

Pycharm下将py文件打包成exe文件

1. 在PyCharm下安装PyInstaller 1. 首先&#xff0c;打开自己要发布的工程 2. 点击底部的【Terminal】打开终端&#xff0c;中输入命令pip install pyinstaller后回车&#xff0c;如图所示进行安装 3. 输入命令 pyinstaller&#xff0c;回车显示安装成功 4. 输入命令 pyinstall…

什么是自然语言处理,它如何工作?

NicoElNino/Shutterstock.comNicoElNino / Shutterstock.comNatural language processing enables computers to process what we’re saying into commands that it can execute. Find out how the basics of how it works, and how it’s being used to improve our lives. 自…

GIT速查手册

为什么80%的码农都做不了架构师&#xff1f;>>> 一、GIT 1.1 简单配置 git是版本控制系统&#xff0c;与svn不同的是git是分布式&#xff0c;svn是集中式 配置文件位置 # 配置文件 .git/config 当前仓库的配置文件 ~/.gitconfig 全局配置文件# 查看所有配置项 git …

4-3逻辑非运算符及案例 4-4

创建类 LoginDemo3 这里取反 !(n%30) package com.imooc.operator; import java.util.Scanner;public class LoginDemo3 {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("请输入一个整数");Scanner scnew Scanner(…

assistant字体_如何使用Google Assistant设置和致电家庭联系人

assistant字体Google谷歌Google Home and Nest smart speakers and displays allow you to make calls without using your phone. By setting up “Household Contacts,” anyone in your home can easily call friends and family members with Google Assistant-enabled dev…