未维护
20170915184417 eclipse 配置又多又费时间,记录下来以后可能用到
project explorer显示项目不全
表现在新建项目都无法显示,而import又提示project已经存在
解决:一般是由于在explorer中设置过以working set显示,而新项目没有添加进入set中
- 在explorer右上角三角符号配置,select working set->no working sets显示所有项目
- 将项目添加入一个set中
- 显示未加入设置的project: top level elements -> show 'other project' working sets
配置tomcat
标准版的eclipse是没有安装javaee工具的,如果没有安装javaee工具
- 使用http://download.eclipse.org/releases/neon
选中Web, XML, Java EE and OSGi Enterprise Development 对应的版本安装
配置服务
- preference -> server -> runtime environments -> add -> 选择对应的tomcat版本与tomcat目录
注意:
- tomcat环境:到apache 官网下载对应zip包后查看running.txt有环境变量的配置,可以命令启动
- 若按照配置好变量后提示服务未运行,需要在bin中cmd运行:server.bat install 写入服务
eclipse配置tomcat服务三只小猫
这个需要eclipse 插件
- 下载插件zip包:
https://sourceforge.net/projects/tomcatplugin/
- 解压后将features和plugins文件夹放入eclipse的根目录下覆盖
- 重启eclipse就可以看到
配置eclipse tomcat管理启动
preference -> tomcat 选择对应版本和tomcat配置环境
eclipse不自动弹出提示
alt+/快捷键失效和 .调用方法时不提示
a.用于没有一点提示的情况:依次打开eclipse上面的
- windows ——preferences ——java ——editor —— content assist ,在右上方有一行
- select the proposal kinds contained in the 'default' content assist list下面,
- 勾选Java Prolosals 复选框,保存退出即可。
b.此种方法用于打出单词缩写没有提示的情况(例如:打出syso没有提示):
- 依次打开eclipse上面的windows ——preferences ——java ——editor —— content assist,
- 在右边部分偏下的地方找到“Auto activation triggers for java:”这一项,
- 后面是一个文本框,在后面的文本框输入字母abcd,然后点击 applay-->OK 保存退出,
- 选择导出 File —— General —— Export 选择preferences 再选中Export all 复选框(下面的不需要管),并指定导出文件的名字和路径(注意只能导出.epf格式的文件)。
- 然后在你指定的路径下找到刚刚导出的文件epf文件,(可以用记事本)打开它,
- 再找到刚刚输入的abcd(或者abc),再在其后添加其余的22个英文字母,保存后,
- 再用eclipse的导入功能把该文件导入到eclipse中,就可以实现单词联想提示功能。
eclipse 出现引用外部api时不能提示代码和智能导包
如使用mysqldatasource出现:Access restriction: The type 'MysqlDataSource' is not API... 而且eclipse不会提示导包,只能看到包路径,不能看到包的类
Eclipse中有一种叫做存取限制的机制,来防止你错误使用那些非共享的API。通常来说,Eclipse做的是对的,因为两点,我们不想要使用非共享API的,而且Eclipse知道什么是共享的和非共享的API。但是有时我们想要使用非共享的API,比如说用gmail的来发送和接收邮件,要用到SSL。这个就是非共享的API。这时候我们就要更改一些设置了。
更改的步骤如下:
- window-java-compiler-Error/Warning-Deprecated and Restricted API-Forbidden reference那里,设置成Ignore即可。
- 如果依然无法提示,可以将forbidden reference和discouraged reference 同样设置ignore
在eclipse中添加jar后添加对应的源代码和api文档
- window -> java -> installed jars -> 选择jre版本进入 edit JRE -> 选择对应的.jar文件 -> source attachment 或 javadoc location
- 添加源文件:进入source attachment configuration界面
- 可以选择源代码的zip jar 文件夹都可以
- 如E:\Major\Java\resource\mysql-connector-java-5.1.44\src
- 选择mysql驱动源代码
eclipse在代码修改后运行时不自动保存
- preferences -> run/debug -> launching
- save required dirty editors before launching中三个选项
- 选always就自动保存
- 选prompt就提示保存
- 选never从不保存
貌似可以直接点击run按钮运行没有运行过的java程序了
eclipse 批量更改java文件中特定的字符串
- Search -> File Search
- containing text: 选择要匹配的字符串如:edu.princeton.cs.algs4.Stack
- 可选 区分大小写,正则匹配,完整匹配
- 范围scope:一般来说选择当前项目enclosing projects
- 点击replace 或 search就可以完成了
eclipse 运行java程序时控制台出现错误:
错误信息:
an internal error has ocurred nullpointerexception
解决方法:将控制台关闭,然后再打开控制台就好了
- 右键侧边栏的控制台可选择close
- 点击导航栏的控制台图标就可以显示。
或者
导航栏中的Window-> show view ->选择console可以打开控制台
将eclipse中的web项目部署到tomcat/webapps中
eclipse并不像MyEclipse默认将项目部署到tomcat安装目录下的webapps中,而默认部署到工作目录下workspace.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps中。(tmp0、tmp1的不同是目前这个server容器的顺序)
解决:
导航栏中的Window->show view->servers->找到需要修改的tomcat->右击
- 停止eclipse内的tomcat服务器(stop)
- 删除该容器中部署的项目(add and remove)
- 清除该容器相关数据(clean)
- 打开tomcat的修改界面(open)
- 找到servers location, 选择第二个(User tomcat Installation)
- 修改deploy path为webapps
- 保存关闭
参考:
https://www.cnblogs.com/shenpengyan/p/6095488.html
eclipse中快捷键失效
表现在使用format element时无法ctr+shift+f格式化代码,但是其他快捷键都有效
解决方法:
快捷键失效最常见的就是和搜狗输入法快捷键冲突!!
- 打开搜狗输入法属性设置->搜索 快捷键 ->找到系统功能快捷键
- 可以看到 繁简切换 快捷键ctr+shift+f勾选的。
- 将其更换快捷键或禁用
- 点击确定保存
为eclipse配置javap命令
- 点击菜单栏 Run ---> External tools ---> External tools Configurations...
- 在External tools Configurations左边找到program -> 右击new
- 在新窗口中配置下面的内容:
Name: javap
Locations: 选择jdk的javap.exe文件所在的位置
Working Directory: {project_name}
Arguments: -classpath bin -c ${java_type_name}
说明:
{project_name}表示项目的名称;
${java_type_name}表示所选java文件的类名(全名);
- 然后点击apply 后点击run就可以运行了
可以在导航栏的run快捷按钮右边找到刚配置的javap的快捷按钮
参考:http://blog.csdn.net/ricciozhang/article/details/46994485
配置自定义类库
通常的大型项目,都需要很多JDK系统自带类库之外的其他类库支持,例如:jdbc链接的类库、Struts类库等。那么对于在多项目开发中,建议使用用户类库来分类管理不同的JAR文件,这样就做到了在多个项目中可以共享指定分类的jar文件,也避免了每一个项目都需要单独保存类库文件的弊端,很大程度上提高了类库的重用性;
- 打开eclipse选择菜单Window->Preferences
- 弹出界面选择Java->Build Path->User Libraries
- 点击右侧的New…按钮,创建一个新的用户库
- 输入用户库的名称,如:Struts2,点击OK按钮
- 选中添加的库,如“Struts2”点击“Add JARS…”按钮,添加用户库所需的库文件
- 最后确定OK就行了
如何应用用户类库(分配给特定项目)
- 选中项目,右键Properties
- 弹出对话框树形结构选择Java Build Path ,右边选择“Add Library”
- 弹出界面选择“User Library”,点击“Next”
- 弹出界面选择需要的用户库,点击“Finish”
linux eclipse 快捷键更改
win和linux常用的快捷键可能会有些不兼容,如代码提示alt+/在linux中就不可用,而是被word completion占用
- 导航栏 window --> preferences --> general --> keys
- 输入 alt+/ 查看已经绑定的快捷键然后清除
- 找到content assist 添加快捷键alt+/
参考:
http://blog.sina.com.cn/s/blog_498610450102vrog.html
源代码文件使用space代替tab
- window -> preference -> General-> Editors -> Text Editors,选中右侧的 insert space for tabs;如
- window -> preference -> Java -> code style ->formatter,点击右侧的edit
然后选择左侧 tab policy的值为spaces only(这里应该通过New button打开该界面)
注意:原来的文件无法直接转换为spaces填充,只有新建的文件才能使用空格填充
参考:https://www.cnblogs.com/sirwang/p/5763448.html
使用maven构建web项目,项目上有红叉提示错误,但是错误找不到
解决方法:eclipse生成的maven项目动态web module版本不能支持3.X的问题
配置代理
如何设置Eclipse的上网代理
已维护
源码阅读
在eclipse上阅读源码,默认的配置会导致一堆错误,影响阅读
- 禁止自动编译
- 取消勾选
Project->Build Automatically
- 清除编译文件
mvn clean
- 取消勾选
禁止编译后可能会导致无法解析额外的类的信息,如继承结构、方法引用等
- 禁止错误报告
- 取消勾选
Window->Java->Editor->Report problems as you type
- 取消勾选
配置编译时注解
编译时注解使提示错误信息。如仅允许注解在class上的@Solution
,效果如图:
方法1
-
配置processor
- Right click on the project and select Properties.
- Open Java Compiler -> Annotation Processing. Check "Enable annotation processing".
- Open Java Compiler -> Annotation Processing -> Factory Path. Check "Enable project specific settings".
- Add your JAR file to the list.
- Clean and build the project.
- 检查annotation processor是否生效
打开Error Log,Window->Show View->Other->General->Error Log
,如果processor无效则会在显示异常信息
参考
How to configure Java Annotation Processor(s) in Eclipse?
方法2
对于标准配置的processor jar包,在maven配置processor依赖,不需要每次都配置eclipse项目processor,而且eclipse maven update后不会导致factory path配置丢失,直接从maven 依赖中获取
注意:如果需要eclipse自动从maven配置中加载processor jar,需要关闭eclipse 关联的项目如leetcode project关联引用 processor project。当processor是在eclipse打开时,可能不会自动加载注解处理器到factory path,如图
关闭processor项目直接让eclipse引用maven repo jar依赖即可