IntelliJ IDEA

通过IntelliJ IDEA忽略掉不需要提交到github的文件

╄→гoц情女王★ 提交于 2020-05-08 08:29:29
现如今,开源项目越来越多,存储容器主要有github,国内的码云。开源贡献也是衡量一个开发者是否具有足够的包容能力、技术能力的重要标准。 有些开发者没注意到这些,好心提交开源项目,配置文件也提交上去,被下载源码的人把数据库乱改一通,损失惨重。 当我们遇到项目配置的敏感信息的文件时,我们可以不用提交,idea提供了.ignore插件,操作如下: 打开idea,点击file,再点击settings,选择Plugins 点击Browse repositoriese 搜索.ignore,下载安装,安装完成后需要重启idea 选择.gitignore file 点击generate生成模版 比如我不想提交application-dev.properties文件,(因为有敏感信息,数据库配置、阿里云accessKey等) 然后点开.gitignore文件,发现已经添加上去了。 来源: oschina 链接: https://my.oschina.net/u/4279212/blog/3990317

Java第四单元暨面向对象课程总结

半城伤御伤魂 提交于 2020-05-08 08:26:53
一、 第四单元作业框架 1、UML 类图解析器 ( 1 )设计策略 作为对 UML 的入门,这次作业主要考察了我们对于 UML 类图的构成要素的解析方法,并通过这种方法加深我们对于 UML 的理解。 对于从 UML 图中解析出来的信息进行分析与汇总,实现对于 UML 类图的各种元素(包括类的个数、特定类中所包含的属性个数等)的查询。在做这次作业时,我将各种元素( UMLClass 、 UMLAttribute 等)进行了分门别类的存储,使得元素能够对应所在的类,实现查询功能。 (2) 类图 由于本次作业只是对于 UML 类图中元素的解析,所以只需要将各种元素分门别类地 initial 处理一下就能够实现功能,所以我只是用了一个类来解决这个问题(因此只截取了一个类的视图)。以上即是本次作业的大体框架( seekforinterfaces 、 seekforancestor 分别是处理 interfaces 、 class 之间的继承, seek 、 todo 分别是这两个方法的递归做法)。 (3) 度量分析 2、 解析器的拓展(顺序图、状态图)以及基本规则的验证 (1) 设计策略 在 UML 类图解析器的基础上实现对于顺序图和状态图的解析,实际操作流程并没有改变,都是通过对于存储各种不同元素的相关信息实现对应因素的关联,与第一次作业类似。 而对于基本规则的验证(元素重名、循环继承

IDEA 将项目添加到maven管理

不羁岁月 提交于 2020-05-08 08:18:16
小结: IDEA项目添加到maven管理,添加方法  http://php-note.com/article/detail/3e0e2087996541f3874270129d34ce3c 原文如下: 方式一 项目没有pom.xml 1、在项目根目录下,新建文件 pom.xml,并填写好内容。 2、在pom.xml文件上,右键 Add as Maven Project 或 在项目上,右键 Add Framework Support 方式二 项目有pom.xml 打开 Maven 窗口,选择对应的项目,然后点击 绿色的加号(Add Maven Projects) ,添加子项目的 pom.xml 文件即可 项目已经添加到maven管理后, pom.xml文件上右键, 没有 Add as Maven Project选项 或 在项目上右键, 没有 Add Framework Support选项 我走的弯路过程: 项目加入maven管理 https://www.cnblogs.com/liehen2046/p/10730973.html 注意其文章顺序,顺序如下: 1.在项目上右键-》Add Framework Support 2.Choose Maven 3. 生成pom.xml 根据顺序看出 ,使用这个方法的前提是项目本身没有pom.xml。 所以, 没有maven选项

求解稀疏优化问题2——临近点方法+半光滑牛顿法

走远了吗. 提交于 2020-05-08 08:16:18
这篇文章是我之前一篇文章的兄弟篇,没看过的可以看下面这个。 邓康康:求解稀疏优化问题——半光滑牛顿方法 ​ zhuanlan.zhihu.com 我们考虑的问题仍然是如下的一般问题: 其中 ,并且 特别大; 表示一个凸可微函数,例如 表示一个闭真凸函数,一般为稀疏正则函数,比如 LASSO: ,Fused LASSO,Clustered LASSO等 通过引入变量 ,我们先把(P)转化为约束问题 于是我们得到(P)的对偶问题为: 在之前的那篇文章中,我提到了怎么利用增广拉格朗日方法(ALM)去求解对偶问题(D),该方法中的子问题采用的是半光滑牛顿法。 主要idea大概分为三步: 将原问题转化为对偶问题 利用增广拉格朗日方法求解对偶问题 子问题采用半光滑牛顿法 主要代价在于半光滑牛顿法,而由于非光滑函数 的稀疏性,导致子问题中的Jacobian矩阵也是稀疏的,进而大大降低了该方法的计算量。本质上,这个方法是一个应用于对偶问题上的增广拉格朗日方法。这篇文章我们换个角度,从原始问题(P)出发去设计算法。 在我的另一篇文章中 邓康康:原始对偶角度下的几类优化方法 ​ zhuanlan.zhihu.com 里面讲到了: 对偶问题上的 临近点方法 等价于原问题上的 增广拉格朗日方法。 而对偶问题的对偶问题是原问题。所以我们是不是有, 原始问题上的 临近点方法 等价于对偶问题上的

eclipse 使用lombok 出现的问题

我与影子孤独终老i 提交于 2020-05-08 07:42:39
最近在学习spring boot的时候遇到了一个注解@Data,使用这个注解可以免去手动重写属性的@getter @setter 方法以及@toString()方法等等,甚是方便。 在看视频学校的时候使用的是Idea,使用的时候只需在 idea编译器中在线安装lombok插件,然后引入lombok.jar的依赖即可。但是换过来到eclipse的时候去出现了使用@Data,但是在使用的时候去无效的情况。这是因为eclipse 没有像idea那么方便,可以直接在环境中在线安装lombok插件。eclipse需要在线下安装lombok插件,主要步骤如下: 1 下载lombok.jar lombok.jar 包的下载路径为:https://projectlombok.org/download 2 第二步可以使用手动配置的方式,也可以使用以下的方式: 双击lombok.jar,进入lombok的安装环境,如下图: 这时会出现找不到IDE的警告,这时不用管这句话,点击弹出框的specify location 选择你的eclipse 的安装路径,选到eclipse.exe这一级即可,然后点击Install/Update,最后出现这个弹框,就说明你离成功已经很近了。 关掉弹窗,去到你的eclipse安装路径下的eclipse.ini查看一下,是否多了一句 -javaagent:F:\eclipse

Lombok简介及入门使用 (转载)

。_饼干妹妹 提交于 2020-05-08 07:42:22
Lombok简介及入门使用 lombok既是一个IDE插件,也是一个项目要依赖的jar包. Intellij idea开发的话需要安装Lombok plugin,同时设置 Setting -> Compiler -> Annotation Processors -> Enable annotation processing勾选。 lombok是依赖jar包的原因是因为编译时要用它的注解.是插件的原因是他要在编译器编译时通过操作AST(抽象语法树)改变字节码生成.也就是说他可以 改变java语法. 他不像spring的依赖注入或者hibernate的orm一样是运行时的特性,而是编译时的特性. Lombok 是一种 Java实用工具,可用来帮助开发人员消除Java的冗长,尤其是对于简单的Java对象(POJO), 它通过注释实现这一目的。一个标准的Java bean 一般具有若干属性,每个属性具有getter()和setter()方法,Lombok中也用到了注解,但是它并没有用到反射,而是通过一些奇技淫巧,在代码编译时期动态将注解替换为具体的代码。所以JVM实际运行的代码,和我们手动编写的包含了各种工具方法的类相同。 添加maven依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok<

idea 安装lombok 插件过程

寵の児 提交于 2020-05-08 07:42:06
一、作用 Lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,bean,entity等类,绝大部分数据类类中都需要get、set、toString、equals和hashCode方法,虽然idea和eclipse开发环境下都有自动生成的快捷方式,但自动生成这些代码后,如果bean中的属性一旦有修改、删除或增加时,需要重新生成或删除get/set等方法,给代码维护增加负担。而使用了lombok则不一样,使用了lombok的注解(@Setter,@Getter,@ToString,@RequiredArgsConstructor,@EqualsAndHashCode或@Data)之后,就不需要编写或生成get/set等方法,很大程度上减少了代码量,而且减少了代码维护的负担。lombok在编译生成的字节码文件中会帮我们生成这些方法,这就是lombok的神奇作用,去掉bean中get、set、toString、equals和hashCode等方法的代码,使你的代码看起来更加简洁,写起来也更加方便。 二、操作如下: 第一步: 添加jar包或maven依赖 < dependencies > < dependency > < groupId > org.projectlombok </ groupId > < artifactId >

使用IntelliJ IDEA创建Maven多模块项目

我的梦境 提交于 2020-05-08 07:06:02
转载:http://blog.csdn.net/xyw591238/article/details/52794788 使用Maven管理项目时,往往需要创建多个模块,模块之间存在相互引用的关系。对于Maven的依赖,也需要专门创建一个模块来管理依赖项。例如对于一个项目,可以创建一个common模块来管理POJO类,创建一个server来管理业务逻辑及 数据库 操作类,创建一个web模块来组织Web文件,如HTML,JSP等。下图是一个Maven多模块管理的案例项目结构: 简单说一下创建过程: 1.首先创建一个空项目:Demo,New Project对话框左侧选择Maven Module(IDEA中的Module对应于Eclipse中的Project),如下图所示: 2.parent module的建立选择创建项目的模板,可以不使用模块,创建出来的项目会多出src目录,手动删除src目录即可,或者选择一个blank模板(要使用模板,则需要勾选“Create from archetype”),直接创建一个空项目,操作如下图所示: 3.在项目名字上右击->New->Module,填写子项目(模块)名称,选择Maven Project即可,如果不是Web模块,则可以使用模板创建(即不勾选“Create from archetype”),普通项目需要有src目录

学Maven,这篇万余字的教程,真的够用了!

寵の児 提交于 2020-05-08 07:05:47
1 Maven 介绍 1.1 为什么使用 Maven 由于 Java 的生态非常丰富,无论你想实现什么功能,都能找到对应的工具类,这些工具类都是以 jar 包的形式出现的,例如 Spring,SpringMVC、MyBatis、数据库驱动,等等,都是以 jar 包的形式出现的,jar 包之间会有关联,在使用一个依赖之前,还需要确定这个依赖所依赖的其他依赖,所以,当项目比较大的时候,依赖管理会变得非常麻烦臃肿,这是 Maven 解决的第一个问题。 Maven 还可以处理多模块项目。简单的项目,单模块分包处理即可,如果项目比较复杂,要做成多模块项目,例如一个电商项目有订单模块、会员模块、商品模块、支付模块...,一般来说,多模块项目,每一个模块无法独立运行,要多个模块合在一起,项目才可以运行,这个时候,借助 Maven 工具,可以实现项目的一键打包。 Maven 之前,我们更多的是使用 Ant 的项目构建工具,Ant 有一个特点,每次都得写,每次都写的差不多,配置也臃肿。所以,后来搞出来 Maven。Maven 就是最先进的版本构建工具吗?不是的,只不过,目前在 Java 领域 Maven 使用比较多。除了 Maven,还有 Gradle。 1.2 Maven 是什么 Maven 是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),反映在配置中

来自lombok的注解(解决idea中的找不到get,set方法,找不到log的问题)

我与影子孤独终老i 提交于 2020-05-08 06:25:24
  今天看代码,发现idea报错,仔细一看调用的get,set方法bean中都没有,但是运行起来却没有问题,这个让我很疑惑。后来发现在类上有一个以前没见过的注解@Data,大概就是因为有他的原因。这个注解来自于lombok。   我们使用lombok的注解时,例如使用@Data,我们不需要再代码中再显示的写get,set方法等,当我们使用的时候可以直接使用注解给我们生成的get,set方法,但是此时idea是不知道这个注解的作用的,会误报没有这个方法,所以你会看到idea疯了一样的到处报错。为了解决这个问题,我们需要在idea中安装插件lombok plugin(直接在idea的prefrences->plugin里搜索就可以找到)。安装完重启idea问题就解决了。 下面我们来看一下lombok中都有哪些好用的注解   @NonNull : 注解在参数上, 如果该类参数为 null , 就会报出异常, throw new NullPointException(参数名)   @Cleanup : 注释在引用变量前, 自动回收资源 默认调用 close() 方法   @Getter/@Setter : 注解在类上, 为类提供读写属性   @Getter(lazy=true) :实际使用到的时候生成   @ToString : 注解在类上, 为类提供 toString() 方法