eclipse工具再学习
今天下午最后近1小时及晚上2个多小时,我都花费时间在工程环境配置上,自尊心被严重摧残,各种郁闷和抱怨。源头是我部分刷新代码后运行工程依赖的jar报错,后来找同事发现是因为我没更新pom.xml文件,重新刷新pom文件后突然发现eclipse的两个工程无法显示maven仓库,切换各种视图project manager和packpage manger等各种视图都是不行,尝试右键maven-》update project还是不行,尝试网上说的方法:1.把工程去掉maven属性,然后在命令行窗口执行mvn clean命令,然后再工程右键configuration中把工程转为maven,还是不行。2.尝试在eclipse中删掉工程,去掉工程中的.classpath,.project文件后再次导入工程还是报相同的maven错误。3.同事找到一个可用的maven工程,把里面的.classpath文件复制到不行的工程中后刷新居然正常出现了maven的仓库。但对另一个工程还是不行,修改.project文件,.classpath文件后最终在packpage manager中找到了本地仓库,目前为止还剩下一个问题就是不知为何我电脑环境下的maven无法下载某个jar包依赖的jar包,而其它电脑上可以,目前也没有同事有很好的办法解决此问题。为此我被深深的打击了,工程无法正常运行,我却想不到任何自己确定的尝试解决方法,网上各种随波逐流的知识基本不能解决我个性化问题,想到最后感觉还是自己基础知识太差,对eclipse工程、maven的机制不很理解,要想彻底解决该问题,我必须吸取今天的教训,彻底弄明白整个问题,以后不要再犯类似的环境问题了。
elipse为工程创建的各项内容含义:
.classpath 文件

- <?xml version="1.0" encoding="UTF-8"?>
- <classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="test"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
- <classpathentry kind="lib" path="lib/dom4j-1.6.1.jar">
- <attributes>
- <attribute name="javadoc_location" value="file:/home/wpc/Work/Apache/dom4j-1.6.1/docs/api$
- </attributes>
- </classpathentry>
- <classpathentry kind="output" path="bin"/>
- </classpath>
从数据上我们容易看出,上面描述了工程的依赖文件:
- 源文件的具体位置(kind="src")
- 运行的系统环境(kind="con")
- 工程的library的具体位置信息(kind="lib")
- 在每个lib的xml子节点中,有关于它的其它配置信息(例如我配置的那个"javadoc_location")
- 项目的输出目录(kind="output")
总体上说这个文件就是配置整个工程的运行环境。
.project

- <?xml version="1.0" encoding="UTF-8"?>
- <projectDescription>
- <name>CreateInterpret</name>
- <comment>JavaCC Nature@key 32303037303632392D3130303020437265617465496E746572707265742F777063 </comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>sf.eclipse.javacc.javaccbuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>sf.eclipse.javacc.javaccnature</nature>
- </natures>
- </projectDescription>
从数据上看,我们可以了解到这些配置主要是描述工程的基本信息:
- 工程名<name></name>
- 工程注释描述<comment></comment>
- 运行时需要的额外Eclipse插件<natures></natures>,及其具体加载方式信息<buildSpec></buildSpec>
如果你在开发过程中向工程里面加入了很多额外的插件,则必然会导致你的Eclipse启动速度变慢。在这种情况下,你可以到这个文件里面去掉一些插件,不过这样一来你在开启那些关联文件的时候会加载那些插件。
.settings
这里面存放各种插件的配置文件。
然后查了下java jar包依赖分析工具,发现还是很多,除了之前知道的jdepand外,还有Class Dependency Analyzer (CDA)、JarAnalyzer等,主要关注了CDA,
http://www.dependency-analyzer.org/#PluginAPI
貌似很强大,但没看到关于原理的介绍,随后开发任务不紧张的时候要尝试下。
eclipse工具再学习的更多相关文章
- 学汇编的时候可以拿IDA之类的反汇编工具辅助学习,再用gdb或者IDA动态调试,跟踪每条指令的 执行结果。都不难
作者:潘安仁链接:https://www.zhihu.com/question/40720890/answer/87926792来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- FFmpeg再学习 -- 硬件加速编解码
为了搞硬件加速编解码,用了一周时间来看 CUDA,接下来开始加以总结. 一.什么是 CUDA (1)首先需要了解一下,什么是 CUDA. 参看:百度百科 -- CUDA 参看:CUDA基础介绍 参看: ...
- SVN版本控制工具使用学习
SVN版本控制工具使用学习 Subversion是优秀的版本控制工具. 1.下载和搭建SVN服务器 http://subversion.apache.org/packages.html 类型有5种,推 ...
- eclipse工具的使用心得
一.eclipse工具的使用 eclipse是一个开源的IDE,进行javaEE开发一般使用myeclipse插件比较方便 1. java代码的位置 1)选择工作空间workspace 选择一个文件夹 ...
- Tomcat下载以及安装、eclipse工具配置tomcat9的具体步骤
(小白经验,大咖勿喷) 开始学javaweb的一些技术了,最让人头疼的就是环境的配置以及必要软件的安装,比如数据库mysql.服务器Tomcat.eclipse工具等等. 自己也度娘了很多大咖的经验, ...
- eclipse工具maven项目打包文件不是最新修改的
1.问题描述:maven项目,完成一些功能开发后,在进行打包更新服务器系统时,本地eclipse工具对文件打成jar包操作,更新到服务器上没有修改的效果,包括打包整个工程为一个war包,也是有同样问题 ...
- FFmpeg再学习 -- SDL 环境搭建和视频显示
继续看雷霄骅的 课程资料 - 基于FFmpeg+SDL的视频播放器的制作 一.SDL 简介 参看:WIKI -- Simple DirectMedia Layer 参看:最简单的视音频播放示例9:SD ...
- FFmpeg再学习 -- FFmpeg解码知识
继续看雷霄骅的 课程资料 - 基于FFmpeg+SDL的视频播放器的制作 前面用了五个篇幅来讲 FFmpeg,其主要目的是为实现将图片转视频的功能. 总的来说,对于 FFmepg 多少有一些了解了.但 ...
- 版本控制工具SVN学习
教学视频链接:https://edu.aliyun.com/course/83?spm=5176.10731334.0.0.778e6580zC0Ri0 版本控制工具SVN学习 1,SVN的简介 在实 ...
随机推荐
- Controller 中Action 返回值类型 及其 页面跳转的用法
•Controller 中Action 返回值类型 View – 返回 ViewResult,相当于返回一个View 页面. -------------------------------- ...
- Populating Next Right Pointers in Each Node II 解答
Question Follow up for problem "Populating Next Right Pointers in Each Node". What if the ...
- URLConnection的连接、超时、关闭用法总结
Java中可以使用HttpURLConnection来请求WEB资源. 1. URL请求的类别 分为二类,GET与POST请求.二者的区别在于: a:) get请求可以获取静态页面,也可以把 ...
- Hibernate(三)——框架中的关系映射
在设计数据库时我们会考虑,表与表之间的关系,例如我们前边经常提到的一对一,一对多,多对多关系,在数据库中我们通过外键,第三张表等来实现这些关系.而Hibernate时间实体类和数据库中的表进行的映射, ...
- Rotate It !!(思维)
Rotate It !! Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit ...
- Objective-C(十八、谓语使用及实例说明)——iOS开发基础
结合之前的学习笔记以及參考<Objective-C编程全解(第三版)>,对Objective-C知识点进行梳理总结.知识点一直在变,仅仅是作为參考,以苹果官方文档为准~ 十八.谓语的使用及 ...
- Linux各个目录的作用
/binbin是binary的缩写.这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令.例如cp.ls.cat,等等./boot这里存放的是启动Linux时使用的一些核心文件./dev ...
- Eclipse安装Vim——viPlugin插件
1.下载viPlugin: http://www.viplugin.com/files/viPlugin_2.14.0.zip 2.安装 解压后有两个文件夹: features 和 plugins 把 ...
- EffectiveC#9--明白几个相等运算之间的关系
1.当你创建你自己的类型时(不管是类还是结构),你要定义类型在什么情况下是相等的.C#提供了4个不同的方法来断定两个对象是否是相等的 public static bool ReferenceEqual ...
- django表单及母板
在之前的埔文中说到了对Model的操作以及对url的路由映射等内容,对应django的mtv框架则是完成了学习,Model与viewer的操作,那么本节主要来唠叨一下template,当Model,v ...