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的简介 在实 ...
随机推荐
- 通过expdp/impdp进行oracle数据库的备份恢复详细指导
假定导出oracle数据库home目录为/opt/oracle,数据库用户为exp_user/test,导入用户为imp_user/test,给出如下样例,具体使用时根据实际情况修改路径及用户名/密码 ...
- Linux权限机制
权限是操作系统用来限制用户.组.进程对操作系统资源(文件.设备等)的访问的机制 权限分为:读.写.执行,一般表示为 r.w.x http://itercast.com/lecture/22 每个文件或 ...
- win环境下mysql5.6.14的所有变量的默认值
在windows mysql5.6.14 x64版本下my.ini如下: [mysqld] port = 3306 socket = /tmp/mysql.sock basedir=D:/wamp ...
- UVA 10285 Longest Run on a Snowboard(记忆化搜索)
Problem C Longest Run on a Snowboard Input: standard input Output: standard output Time Limit: 5 sec ...
- 【转】vlc android 代码编译
转自:http://blog.csdn.net/asircao/article/details/7734201 系统:ubuntu12.04代码:git://git.videolan.org/vlc- ...
- hdu 5612 Baby Ming and Matrix games(dfs暴力)
Problem Description These few days, Baby Ming is addicted to playing a matrix game. Given a n∗m matr ...
- linux svn安装和配置
linux svn安装和配置,不结合apache http://blog.51yip.com/server/901.html 张映 发表于 2010-07-07 分类目录: 服务器相关 今天有个同事在 ...
- C++模板 静态成员 定义(实例化)
问一个问题: 考虑一个模板: template <typename T> class Test{ public: static std::string info; }; 对于下面若干种定义 ...
- PHP <<EOF EOF的使用方法
PHP <<EOF EOF的使用方法 <?php $name = '浅水游'; print <<<EOT <html& ...
- Android零碎知识点总结
1 简单的跨进程通信可以用Messenger类,不用AIDL. 2 当一个Service没有action时,它默认是exported="false"的,其它进程用它的包名和类名构造 ...