分类目录归档:JAVA

JetBrains IDEA 2020 activation CODE 无限激活的方法-ide-eval-resetter

出处:https://gitee.com/pengzhile/ide-eval-resetter

下载后直接拖zip进IDE窗口,可走插件更新机制保持最新。
这个插件会一同清理市场收费插件的试用时间,比如iedis2 / minbatis 之类的都可以。
可勾选选项达到重启自动重置,静默无感知。

 

 

Reset Your IDE Eval Information

  1. Download and install plugin from Download Link.
    • Alternative installation method:
      • Add “Custom Plugin Repository”: https://plugins.zhile.io manually (Settings/Preferences -> Plugins)
      • Search and install plugin: IDE Eval Reset
  2. Click Help or Get Help -> Eval Reset menu.
  3. Click Reset -> Yes button.
  4. Restart your IDE.
  5. Now you have another 30 days eval time 🙂

Intellij Idea 启动问题排解

 

 

前两天Idea升级到2020.1.3 之后,双击桌面图标没有反应.

进入安装好的目录的bin目录下,打开文件idea.bat.

在最后一行增加 pause  并保存.然后双击,查看报错提示:

Error opening zip file or JAR manifest missing : ***\jetbrains-agent.jar

Error occurred during initialization of VM

用everything查找文件idea64.exe.vmoptions,并打开,然后将包含jetbrains-agent.jar行的注释掉或者删掉.

然后重新打开就OK了

IDEA 打包 java 成可执行的jar文件

1,在项目上鼠标右键 –> Open Module Settings

2, Artifacts –> + –> JAR –> From modules with dependencies…

3, Main Class是你这个项目(脚本)的主方法,就是要运行的类,选一个

4,如下图,设置 META-INF/MANIFEST.MF

!!!!!切记,不能用默认的(起码我用默认的是不成功的)!!!!!

6,选中你这个项目的根目录,一定要放在根目录下

7,设置完是这样子的,关于 JAR files from libraries的两个选项:

选中第一个的话,打完包后是一个jar包

选中第二个的话,打完包后是一个jar包,外带你项目所用的jar包,个人推荐第二个

8,设置完后就可以点OK了

9,这个页面, Build on make打上勾,其他的不一样也没事

10,最后一步, Build Artifacts… –> XXX.jar –> Build

11,复制这里的路径去找jar包就行: java -jar XXX.jar

idea jsp mysql IDEA 搭建java web项目以及连接Mysql数据库

准备清单:

  1. IDE(IDEA 2018.2)
  2. JDK
  3. MYSQL
  4. TOMCAT
  5. mysql-connector-java-5.1.46.JAR

开发过程

      1. 新建项目
      2. 在工程项目的web目录下的WEB-INF下建立两个文件夹,一个是classes,用于保存程序运行时编译的文件。另一个是lib文件夹,用于存放程序运行时所要存放的外部类。
      3. 配置项目结构以及tomcat。

        a.output目录选择刚才新建的classes目录。

        b.外部类的引用路径选择刚才建的lib文件夹。(选择完弹出的的选择框选择Jar directory)
      4. 将下载的jdbc驱动包放到刚才建的lib文件夹下。
      5. 在src文件夹下建立DBConfig.properties文件.
      6. 新建类(OpenConnection),获取数据库连接。
        package com.amaker.util;
        
        import java.io.IOException;
        import java.sql.Connection;
        import java.sql.DriverManager;
        import java.sql.SQLException;
        import java.util.Properties;
        
        public class OpenConnection {
            public Connection getConnection(){
        
                String driver = null;
                String url = null;
                String user = null;
                String psd = null;
                Connection conn = null;
        
                Properties pro = new Properties();    //新建一个properties实例,用于从DBConfig中拿到连接参数。
                try {
                    pro.load(this.getClass().getClassLoader().getResourceAsStream("DBConfig.properties")); //加载DBConfig文件。
                    driver = pro.getProperty("driver");
                    url = pro.getProperty("url");
                    user = pro.getProperty("user");
                    psd = pro.getProperty("psd");
                } catch (IOException e) {
                    e.printStackTrace();
                }
        
                try {
                    Class.forName(driver);   //加载jdbc驱动
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                }
        
                try {
                    conn = DriverManager.getConnection(url,user,psd);  //获取数据库连接
                    conn.setAutoCommit(false);
                    return conn;       //返回一个数据库连接。
                } catch (SQLException e) {
                    e.printStackTrace();
                }
        
                return null;
            }
        }
        

idea 常用快捷键

快捷键 中文说明
Alt + Enter 展示当前当前光标所在代码,可以变化的扩展操作
Alt + Insert 自动生成某个类的
Getters, Setters, Constructors, hashCode/equals, toString 等代码。(常用)
Alt + Q 展示包含当前光标所在代码的父节点信息,比如在
java 方法中调用,就会展示方法签名信息。
Ctrl + / 对单行代码,添加或删除注释。分为两种情况:如果只是光标停留在某行,那么连续使用该快捷键,会不断注释掉下一行的代码;如果选定了某行代码(选定了某行代码一部分也算这种情况),那么连续使用该快捷键,会在添加或删除该行注释之间来回切换。(常用)
Ctrl + Alt + I 按照缩进的设定,自动缩进所选择的代码段。
Ctrl + Alt + L 格式化代码 (常用)
Ctrl + Alt + O 去除没有实际用到的包,这在
java 类中特别有用。(常用)
Ctrl + Alt + T 自动生成具有环绕性质的代码,比如:if..else,try..catch,
for, synchronized 等等,使用前要先选择好需要环绕的代码块。(常用)
Ctrl +
C 或 Ctrl + Insert
拷贝当前代码。 (常用)
Ctrl +
D
复制当前选中的代码。(常用)
Ctrl +
Delete
删除从当前光标所在位置开始,直到这个单词的结尾的内容。
Ctrl +
Enter
当前代码行与下一行代码之间插入一个空行,原来所在的光标不变。(常用)
Ctrl +
F4
关闭当前标签页。
Ctrl +
mouse
跳进到某个类或者方法源代码中进行查看。(常用)
Ctrl +
NumPad(+/-)
展开或收缩代码段。 (常用)
Ctrl +
O
展示该类中所有覆盖或者实现的方法列表,注意这里是字母小写的
O!
Ctrl +
P
在某个方法中,调用该按键后,会展示出这个方法的调用参数列表信息。
Ctrl +
Q
展示某个类或者方法的 API
说明文档
Ctrl +
Shift + /
对代码块,添加或删除注释。它与
Ctrl + / 的区别是,它只会在代码块的开头与结尾添加注释符号!(常用)
Ctrl +
Shift + ]/[
从当前光标所在位置开始,一直选择到当前光标所在代码段起始或者结束位置。
Ctrl +
Shift + Enter
代码补全后,自动在代码末尾添加分号结束符
Ctrl +
Shift + J
把下一行的代码接续到当前的代码行。
Ctrl +
Shift + NumPad(-)
收缩所有代码段。
Ctrl +
Shift + NumPad(+)
展开所有代码段。
Ctrl +
Shift + Space
在列出的可选项中只显示出你所输入的关键字最相关的信息。(常用)
Ctrl +
Shift + U
所选择的内容进行大小写转换。。(常用)
Ctrl +
Shift + V
从之前的剪切或拷贝的代码历史记录中,选择现在需要粘贴的内容。(常用)
Ctrl +
Shift + W
是 Ctrl + W
的反向操作,多次触发,代码块会逐级变小,最小变为光标。
Ctrl +
Space
补全代码,由于经常与操作系统的输入法的切换冲突,所以实际很少用。一般直接在
idea 中开启输入自动补全机制。
Ctrl +
V 或 Shift + Insert
粘贴之前剪切或拷贝的代码。(常用)
Ctrl +
W
选中当前光标所在的代码块,多次触发,代码块会逐级变大。(常用)
Ctrl +
X 或 Shift Delete
剪切当前代码。 (常用)
Ctrl +
Y
删除当前光标所在的代码行。(常用)
Shift
+ Enter
当前代码行与下一行代码之间插入一个空行,原来光标现在处于新加的空行上。(常用)
Shift
+ F6
修改名字。(常用)
Tab /
Shift + Tab
缩进或者不缩进一次所选择的代码段。(常用)
Ctrl +
F
在当前标签页中进行查找,还支持正则表达式哦。(常用)
F3 如果找到了多个查找结果,每调用一次就会跳到下一个结果,很方便哦。
Shift
+ F3
是 F3
的反向操作,即每调用一次就会跳到上一个结果。
Ctrl +
R
在当前标签页中进行替换操作。(常用)
Ctrl +
Shift + F
通过路径查找。(常用)
Ctrl +
Shift + R
通过路径替换。(常用)
Alt +
F7
在当前项目中的使用情况,会打开一个使用情况面板。
Ctrl +
F7
在当前文件中的使用情况,找的内容会低亮显示。
Ctrl +
Shift + F7
在当前文件中的使用情况,找的内容会高亮显示。
Ctrl +
Alt + F7
打开使用情况列表。 (常用)
Ctrl +
F9
编译项目(如果之前有编译过,那么只会编译那些修改的类或者依赖的包)。
Ctrl +
Shift + F9
编译所中的范围(如果在某个类中,那么只会编译当前类)。
Alt +
Shift + F10
会打开一个已经配置的运行列表,让你选择一个后,再运行。
Alt +
Shift + F9
会打开一个已经配置的运行列表,让你选择一个后,再以调试模式运行。
Shift
+ F10
立即运行当前配置的运行实例,这个在单元测试中特别好用。 (常用)
Shift
+ F9
立即以编译模式运行当前配置的运行实例。
Ctrl +
Shift + F10
按照编辑器绑定的文件类型,运行相关的程序。比如一个
html 页面,调用后,会直接打开一个浏览器。
F8 跳到当前代码下一行。 (常用)
F7 跳入到调用的方法内部代码。 (常用)
Shift
+ F7
会打开一个面板,让你选择具体要跳入的类方法,这个在复杂的嵌套代码中特别有用。
Shift
+ F8
跳出当前的类,到上一级。 (常用)
Alt +
F9
让代码运行到当前光标所在处,非常棒的功能。 (常用)
Alt +
F8
打开一个表达式面板,然后进行进一步的计算。
F9 结束当前断点的本轮调试(因为有可能代码会被调用多次,所以调用后只会结束当前的这一次);如果有下一个断点会跳到下一个断点中。(常用)
Ctrl +
F8
在当前光标处,添加或者删除断点。
Ctrl +
Shift + F8
打开当前断点的面板,可以进行条件过滤哦。
Ctrl +
N
打开类查询框。(常用)
Ctrl +
Shift + N
打开文件查询框。(常用)
Ctrl +
Alt + Shift + N
打开文本查询框。
Alt +
右箭头/左箭头
跳到下一个/上一个编辑器标签。
F12 如果当前在编辑窗口,触发后,会跳到之前操作过的工具栏上。
ESC 从工具栏上,再跳回原来的编辑窗口,一般与
F12 配合使用。
Shift
+ ESC
隐藏最后一个处于活跃状态的工具窗口。
Ctrl +
Shift + F4
同时关闭处于活动状态的某些工具栏窗口。
Ctrl +
G
跳转至某一行代码。。(常用)
Ctrl +
E
打开曾经操作过的文件历史列表。
Ctrl +
Alt + 右箭头/左箭头
在曾经浏览过的代码行中来回跳
Ctrl +
Shift + Backspace
跳转到最近的编辑位置(如果曾经编辑过代码)。
Alt +
F1
打开一个类型列表,选择后会导航到当前文件或者内容的具体与类型相关的面板中。
Ctrl +
B 或 Ctrl + 鼠标左键
如果是类,那么会跳转到当前光标所在的类定义或者接口;如果是变量,会打开一个变量被引用的列表。(常用)
Ctrl +
Alt + B
跳转到实现类,而不是接口。(常用)
Ctrl +
Shift + I
打开一个面板,里面包含类代码。
Ctrl +
Shift + B
打开变量的类型所对应的类代码,只对变量有用。
Ctrl +
U
打开方法的超类方法或者类的超类,只对有超类的方法或者类有效。
Alt +
上/下箭头
在某个类中,跳到上一个/下一个方法的签名上。
Ctrl + ]/[ 移动光标到类定义的终止右大括号或者起始左大括号。
Ctrl +
F12
打开类的结构列表。(常用)
Ctrl +
H
打开类的继承关系列表。(常用)
Ctrl +
Shift + H
打开某个类方法的继承关系列表。
Ctrl +
Alt + H
打开所有类的方法列表,这些方法都调用了当前光标所处的某个类方法。(常用)
F2/Shift
+ F2
在编译错误的代码行中来回跳。
F4 打开当前光标所在处的方法或类源码。
Alt +
Home
激活包路径的导航栏。
F11 把光标所处的代码行添加为书签或者从书签中删除。(常用)
Ctrl +
F11
把光标所处的代码行添加为带快捷键的书签或者从快捷键书签中删除。
Ctrl +
[0-9]
跳转到之前定义的快捷键书签。
Shift
+ F11
打开书签列表。(常用)

!MESSAGE 从插件调用代码时出现问题:“org.eclipse.core.resources”。

eclipse非正常关闭,再启动时闪退.

查看日志发现空指针错误:!MESSAGE 从插件调用代码时出现问题:“org.eclipse.core.resources”。

 

!ENTRY org.eclipse.core.resources 4 2 2018-07-26 16:29:53.637
!MESSAGE 从插件调用代码时出现问题:“org.eclipse.core.resources”。
!STACK 0
java.lang.NullPointerException
at org.eclipse.ui.activities.WorkbenchActivityHelper.isFiltering(WorkbenchActivityHelper.java:235)
at org.eclipse.ui.internal.ide.IDEWorkbenchActivityHelper$3.resourceChanged(IDEWorkbenchActivityHelper.java:158)
at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:291)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:285)
at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:149)
at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:395)
at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1530)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2353)
at org.eclipse.debug.core.model.Breakpoint.setAttribute(Breakpoint.java:196)
at org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint.decrementInstallCount(JavaBreakpoint.java:865)
at org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint.deregisterRequest(JavaBreakpoint.java:275)
at org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint.removeRequests(JavaBreakpoint.java:779)
at org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint.removeFromTarget(JavaBreakpoint.java:716)
at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.removeAllBreakpoints(JDIDebugTarget.java:1562)
at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.cleanup(JDIDebugTarget.java:1518)
at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.shutdown(JDIDebugTarget.java:1654)
at org.eclipse.jdt.internal.debug.core.JDIDebugPlugin.stop(JDIDebugPlugin.java:345)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:771)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(BundleContextImpl.java:764)
at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(BundleHost.java:510)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.suspend(AbstractBundle.java:566)
at org.eclipse.osgi.framework.internal.core.Framework.suspendBundle(Framework.java:1206)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.decFWSL(StartLevelManager.java:592)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:257)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.shutdown(StartLevelManager.java:215)
at org.eclipse.osgi.framework.internal.core.InternalSystemBundle.suspend(InternalSystemBundle.java:284)
at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:692)
at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:600)
at org.eclipse.core.runtime.adaptor.EclipseStarter.shutdown(EclipseStarter.java:399)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)

 

解决方案:删除以下文件夹org.eclipse.e4.workbench

\workspace\.metadata\.plugins\org.eclipse.e4.workbench