今天下午最后近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代码  
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <classpath>
  3. <classpathentry kind="src" path="src"/>
  4. <classpathentry kind="src" path="test"/>
  5. <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
  6. <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
  7. <classpathentry kind="lib" path="lib/dom4j-1.6.1.jar">
  8. <attributes>
  9. <attribute name="javadoc_location" value="file:/home/wpc/Work/Apache/dom4j-1.6.1/docs/api$
  10. </attributes>
  11. </classpathentry>
  12. <classpathentry kind="output" path="bin"/>
  13. </classpath>

从数据上我们容易看出,上面描述了工程的依赖文件:

  1. 源文件的具体位置(kind="src")
  2. 运行的系统环境(kind="con")
  3. 工程的library的具体位置信息(kind="lib")
  4. 在每个lib的xml子节点中,有关于它的其它配置信息(例如我配置的那个"javadoc_location")
  5. 项目的输出目录(kind="output")

总体上说这个文件就是配置整个工程的运行环境。

.project

Xml代码  
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <projectDescription>
  3. <name>CreateInterpret</name>
  4. <comment>JavaCC Nature@key 32303037303632392D3130303020437265617465496E746572707265742F777063 </comment>
  5. <projects>
  6. </projects>
  7. <buildSpec>
  8. <buildCommand>
  9. <name>sf.eclipse.javacc.javaccbuilder</name>
  10. <arguments>
  11. </arguments>
  12. </buildCommand>
  13. <buildCommand>
  14. <name>org.eclipse.jdt.core.javabuilder</name>
  15. <arguments>
  16. </arguments>
  17. </buildCommand>
  18. </buildSpec>
  19. <natures>
  20. <nature>org.eclipse.jdt.core.javanature</nature>
  21. <nature>sf.eclipse.javacc.javaccnature</nature>
  22. </natures>
  23. </projectDescription>

从数据上看,我们可以了解到这些配置主要是描述工程的基本信息:

  1. 工程名<name></name>
  2. 工程注释描述<comment></comment>
  3. 运行时需要的额外Eclipse插件<natures></natures>,及其具体加载方式信息<buildSpec></buildSpec>

如果你在开发过程中向工程里面加入了很多额外的插件,则必然会导致你的Eclipse启动速度变慢。在这种情况下,你可以到这个文件里面去掉一些插件,不过这样一来你在开启那些关联文件的时候会加载那些插件。

.settings

这里面存放各种插件的配置文件。

然后查了下java jar包依赖分析工具,发现还是很多,除了之前知道的jdepand外,还有Class Dependency Analyzer (CDA)、JarAnalyzer等,主要关注了CDA,

http://www.dependency-analyzer.org/#PluginAPI

貌似很强大,但没看到关于原理的介绍,随后开发任务不紧张的时候要尝试下。

eclipse工具再学习的更多相关文章

  1. 学汇编的时候可以拿IDA之类的反汇编工具辅助学习,再用gdb或者IDA动态调试,跟踪每条指令的 执行结果。都不难

    作者:潘安仁链接:https://www.zhihu.com/question/40720890/answer/87926792来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  2. FFmpeg再学习 -- 硬件加速编解码

    为了搞硬件加速编解码,用了一周时间来看 CUDA,接下来开始加以总结. 一.什么是 CUDA (1)首先需要了解一下,什么是 CUDA. 参看:百度百科 -- CUDA 参看:CUDA基础介绍 参看: ...

  3. SVN版本控制工具使用学习

    SVN版本控制工具使用学习 Subversion是优秀的版本控制工具. 1.下载和搭建SVN服务器 http://subversion.apache.org/packages.html 类型有5种,推 ...

  4. eclipse工具的使用心得

    一.eclipse工具的使用 eclipse是一个开源的IDE,进行javaEE开发一般使用myeclipse插件比较方便 1. java代码的位置 1)选择工作空间workspace 选择一个文件夹 ...

  5. Tomcat下载以及安装、eclipse工具配置tomcat9的具体步骤

    (小白经验,大咖勿喷) 开始学javaweb的一些技术了,最让人头疼的就是环境的配置以及必要软件的安装,比如数据库mysql.服务器Tomcat.eclipse工具等等. 自己也度娘了很多大咖的经验, ...

  6. eclipse工具maven项目打包文件不是最新修改的

    1.问题描述:maven项目,完成一些功能开发后,在进行打包更新服务器系统时,本地eclipse工具对文件打成jar包操作,更新到服务器上没有修改的效果,包括打包整个工程为一个war包,也是有同样问题 ...

  7. FFmpeg再学习 -- SDL 环境搭建和视频显示

    继续看雷霄骅的 课程资料 - 基于FFmpeg+SDL的视频播放器的制作 一.SDL 简介 参看:WIKI -- Simple DirectMedia Layer 参看:最简单的视音频播放示例9:SD ...

  8. FFmpeg再学习 -- FFmpeg解码知识

    继续看雷霄骅的 课程资料 - 基于FFmpeg+SDL的视频播放器的制作 前面用了五个篇幅来讲 FFmpeg,其主要目的是为实现将图片转视频的功能. 总的来说,对于 FFmepg 多少有一些了解了.但 ...

  9. 版本控制工具SVN学习

    教学视频链接:https://edu.aliyun.com/course/83?spm=5176.10731334.0.0.778e6580zC0Ri0 版本控制工具SVN学习 1,SVN的简介 在实 ...

随机推荐

  1. Controller 中Action 返回值类型 及其 页面跳转的用法

        •Controller 中Action 返回值类型 View – 返回  ViewResult,相当于返回一个View 页面. -------------------------------- ...

  2. Populating Next Right Pointers in Each Node II 解答

    Question Follow up for problem "Populating Next Right Pointers in Each Node". What if the ...

  3. URLConnection的连接、超时、关闭用法总结

    Java中可以使用HttpURLConnection来请求WEB资源. 1. URL请求的类别 分为二类,GET与POST请求.二者的区别在于:      a:) get请求可以获取静态页面,也可以把 ...

  4. Hibernate(三)——框架中的关系映射

    在设计数据库时我们会考虑,表与表之间的关系,例如我们前边经常提到的一对一,一对多,多对多关系,在数据库中我们通过外键,第三张表等来实现这些关系.而Hibernate时间实体类和数据库中的表进行的映射, ...

  5. Rotate It !!(思维)

    Rotate It !! Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit ...

  6. Objective-C(十八、谓语使用及实例说明)——iOS开发基础

    结合之前的学习笔记以及參考<Objective-C编程全解(第三版)>,对Objective-C知识点进行梳理总结.知识点一直在变,仅仅是作为參考,以苹果官方文档为准~ 十八.谓语的使用及 ...

  7. Linux各个目录的作用

      /binbin是binary的缩写.这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令.例如cp.ls.cat,等等./boot这里存放的是启动Linux时使用的一些核心文件./dev ...

  8. Eclipse安装Vim——viPlugin插件

    1.下载viPlugin: http://www.viplugin.com/files/viPlugin_2.14.0.zip 2.安装 解压后有两个文件夹: features 和 plugins 把 ...

  9. EffectiveC#9--明白几个相等运算之间的关系

    1.当你创建你自己的类型时(不管是类还是结构),你要定义类型在什么情况下是相等的.C#提供了4个不同的方法来断定两个对象是否是相等的 public static bool ReferenceEqual ...

  10. django表单及母板

    在之前的埔文中说到了对Model的操作以及对url的路由映射等内容,对应django的mtv框架则是完成了学习,Model与viewer的操作,那么本节主要来唠叨一下template,当Model,v ...