• 【转】Intellij笔记


    转自:https://www.cnblogs.com/newsea/p/4827718.html

    环境

    官网:

     http://www.jetbrains.com/idea/download/

    需要Java的JDK,需要安装 JDK,而不是 JRE! http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    配置环境变量: JAVA_HOME

    Tomcat: http://tomcat.apache.org/ ,选 Core x64 Zip

    使用时不要启动Tomcat!

    包查找: http://mvnrepository.com/

    破解:打开网站 http://idea.lanyus.com/ , 看到最新的授权服务器( http://idea.imsxm.com/)

    需要在 File -> Settings 中配置:

    File Encoding -> UTF8 !

    File->Settings->Editor-> General -> Appearence->Show Line Number

    Build,Execution,Deployment-> Maven -> Maven home directory  (Intellij已集成一个。可以不做。)

    Build,Execution,Deployment-> Application Server -> + Tomcat Server

    参考:http://www.cnblogs.com/yjmyzz/p/intellij-idea-13-getting-started.html

    Java8: http://www.jb51.net/article/48304.htm

    Svn签入设置:

    选中:

    subversion:

      auto-update after commit

    before commit:

      reformat code

      preform code analysis (默认)

      check todo(show all)(默认)

    Linux无法绑定1024以下的端口

     http://www.xuebuyuan.com/1432737.html

    1. 绑定 1024 以上的端口。

    2. 端口转发:

    tables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-ports 8080
    iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 –dport 80 -j REDIRECT –to-ports 8080

    学习

    1.RequestMapping:  http://www.cnblogs.com/qq78292959/p/3760560.html

    如果路由中有正则,和指定URL相同, 则URL优先。

    2.RequestBody : http://www.cnblogs.com/qq78292959/p/3760651.html

    3.创建Jar包: http://www.hankcs.com/program/java/methods-intellij-idea-source-jar-package.html

    intellij里很重要的概念:

    project是一个solution.
    
    module相当于一个project.

    新建Jar包(相当于Dll),NewProject->EmptyProject->目录,New Module ->Java EE  ,即新建了一个Dll

    4. 引用Jar包: http://www.fwqtg.net/intellij-idea-%E6%B7%BB%E5%8A%A0jar%E5%8C%85%E7%9A%84%E4%B8%89%E7%A7%8D%E6%96%B9%E5%BC%8F.html

    Project Structure -> Libraries -> + Java + 选Lib项目的根文件夹 -> + 选中Root -> 排除 test .

    Project Structure -> Modules -> Dependencies -> + Libraries ->Java  选中 Dll项目中out文件夹中编译好的 Jar包。 

    按这个做法,一直失败。

    测试发现:可以引用同一个Project里的Module。

    5. 在 Project 中粘帖多个文件,删除多个文件,非常慢。到100个,真的可以喝杯茶了。

    6. Intellij 里的 Tomcat 配置文件位置:

      C:UsersAdministrator.IntelliJIdea14system omcatTomcat_8_0_26_MvcAppconf

    但是每次发布这些配置文件都会被覆盖。

    7. 创建 Jar包: http://blog.csdn.net/eastgrand/article/details/11945309

      详细程度,不忍独享:

      

    8. 引入Jar包

    Libraries 下引入 Java 包,可以引用多个Jar包。

    Modules -》 Dependencies -> Jar包文件组 : Scope = Provided (是指不进行静态链接,仅提供编译时的动态链接 :http://www.xuebuyuan.com/1581741.html)

    如果是运行的程序(相当于 .exe 或 webApplication ),还需要:

    Artifacts 下,对 war exploded 包里的  Output Layout 添加如下结构:

      WEB-INF

        lib: 右键: Add Copy Of -> Libraries -> 选择添加到 Libraries的Jar包。

          引入的Jar包

    9.各种标记

    标记为 Resource ,生成到: target-> web-Inf -> classes 文件夹。

    9. 正则替换:

    mor.(w+).(w+)!!

    mor.$1.$2

    打War包:

    1. 在 Libraries 里添加各类Jar包。

    2. 在 Modules 里的 Dependencies 里添加, 如果是 Provided 表示仅编译时进行链接,不会把Jar包放到 class 里。

    3. 在 Modules 的 Sources 里,把想要放到 classes 的文件,标记为 Resoueces。

    4. 在 Facets 里设置好正确的Web路径 ,加 Web和 Detection,  如果添加了Web项,则提示添加到 Artifacts 里。

    5. 在 Artifacts 里设置 两个导出路径(WAR,WA:Exported),添加额外的输出。 对WAR 取消勾选 build on make , 对WA:Exported 选中 build on make.

    在需要生成 War包的时候,点: Build-> Build Artifacts

    远程调试

    1.  Configuration,添加 Remote

    2.  Copy 第一行:  -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

    3. 设置 Host: 服务器Ip

    4. 服务器启动时,添加第2步的内容:

    java  -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005   -Xmx150m -jar  xxx.jar --参数

    5.  本地调试启动Remote

    各种错误

    新建一个 Spring Mvc 项目,启动,报错: 

    Error running Tomcat8: Address localhost:1099 is already in use

    参考:http://my.oschina.net/u/1157906/blog/205907

    我机器的原因是: ElasticSearch占用了端口,服务里停掉它。

    使用命令: netstat -aon|findstr "1099"  可以找出进程ID。在任务管理器或使用命令: tasklist |findstr “PID”  

    findstr 区分大小写

    或者,修改Tomcat 的JVM端口,把 1099改为1199 .

    Information:java: javacTask: 源发行版 8 需要目标发行版 1.8

    Settings->Build,Execution,Deployment->Java Complier -> 项目的 Target bytecode version 与JDK版本不一致。

    http://blog.csdn.net/kinger0/article/details/46491831

    Language Level 不一致

    Project Structure里 Project里,可以设置 Language Level,Modules 里也可以设置 Langeuage Level。

    现实中也有这么一批程序员,不按系统思想的写代码,把变量定义的乱78糟,还总有理由。

    Project.LanguageLevel = 8  & Modules.LanguageLevel = 6 & Setting.JavaCompile.TargetByteCodeVersion = 1.6  编译通过。

    Project.LanguageLevel = 8  & Modules.LanguageLevel = 8 & Setting.JavaCompile.TargetByteCodeVersion = 1.6  编译不通过。

    Project.LanguageLevel = 8  & Modules.LanguageLevel = 8 & Setting.JavaCompile.TargetByteCodeVersion = 1.8  编译通过。

    普通项目转Maven。

    http://stackoverflow.com/questions/7642456/intellij-convert-a-java-project-module-into-a-maven-project-module

    解包,打包

    http://blog.csdn.net/a13069730106/article/details/53812482

    Maven添加非Maven打包Jar包

    1. 首先,把jar包放到 src/main/resources 文件夹中。

    2. 在 Module 中添加 Jar包 , Scope 为 Combile

    3. 修改 pom.xml

    添加:

    先添加  dependency,再添加 build的resources

    <dependency>
    <groupId>abc</groupId>
    <artifactId>def</artifactId>
    <version>1.0.0</version>
    <type>jar</type>
    <scope>system</scope>
    <systemPath>${basedir}/src/main/resources/CCP_REST_SMS_SDK_JAVA_v2.6.3r.jar</systemPath>
    </dependency>

    <resources>
    <resource>
    <directory>src/main/resources</directory>
    <targetPath>BOOT-INF/lib/</targetPath>
    <includes>
    <include>**/*.jar</include>
    </includes>
    </resource>
    <resource>
    <directory>src/main/resources</directory>
    <targetPath>BOOT-INF/</targetPath>
    <includes>
    <include>**/*.properties</include>
    </includes>
    </resource>
    </resources>

    Maven打包命令

    http://www.cnblogs.com/softidea/p/6063629.html

      mvn clean package -Dmaven.test.skip=true -P prod 

  • 相关阅读:
    [转]ASP.NET生成HTML初级解决方案
    HTTPContentTypes 大全
    CSS美化 input type=”file” 兼容所有浏览器
    页面前端的水有多深?再议页面开发(转)
    jQuery对select、checkbox、radio操作小结
    jQuery 跟随浏览器窗口的回到顶部按钮gototop(转)
    下载apachetomcat9.0.17windowsx64及安装以及用途
    J2SE基本安装和java的环境变量
    java简单的运算符和表达式
    关于类的成员,public,private修饰符
  • 原文地址:https://www.cnblogs.com/sdushmily/p/9149470.html
Copyright © 2020-2023  润新知