【中级实训】StudyReport.md

Vim

vi/vim 共分为三种模式,分别是

  • 命令模式(Command mode)
  • 输入模式(Insert mode)
  • 底线命令模式(Last line mode)

命令模式

在终端输入vimvi加文件名启动 vi/vim后,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。
常用的几个命令:

  • i切换到输入模式,以编辑文本。
  • x删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式

在输入模式中,可以编辑文本(按键使用与日常的编辑模式一致)

按下ESC键,退出输入模式,切换到命令模式

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q退出程序
  • w保存文件
  • wq保存并退出
  • q!不保存直接退出

同样,按ESC键可随时退出底线命令模式。

关于vim中文件内容及模式说明

以下图片来自于参考资料vim菜鸟教程
命令模式
输入模式
底线命令模式

Java编程

  • Java语法相关内容可参见我之前的博客-java学习笔记

  • 说明

    • java:这个可执行程序其实就是JVM,运行Java程序,就是启动JVM,然后让JVM执行指定的编译后的代码;
    • javac:这是Java的编译器,它用于把Java源码文件(以.java后缀结尾)编译为Java字节码文件(以.class后缀结尾);
    • jar:用于把一组.class文件打包成一个.jar文件,便于发布;
    • javadoc:用于从Java源码中自动提取注释并生成文档;
    • jdb:Java调试器,用于开发阶段的运行调试
  • 首先检查是否安装了Java环境
    终端输入:java -version
    java_version.PNG
    若返回类似上图所示的结果,表明Java环境已安装配置成功,否则可参考CentOS 7 安装 JAVA环境(JDK 1.8)进行安装配置。

  • 按照课程要求,我们以一个简单的实例来展示Java编程,创建目录HelloWorld,进入该目录创建文件HelloWorld.java(文件名需与类名一致), 代码如下:

    //HelloWorld.java
    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello World, I am Wang Yibo's Big fan!");
        }
    }
    
  • 编译运行,在终端输入如下命令:

    $ javac HelloWorld.java
    $ java HelloWorld
    

    P.S. 如果这里javac报错
    javac_error.PNG
    则可能由于安装的JDK只有JRE导致的,使用yum安装相关包即可:

    $ yum install java-devel
    
  • 运行结果:
    result.PNG

ant

Ant是一个Java库和一个软件工具,用于自动化软件构建过程,如编译,运行,测试和组装Java应用程序。可以代替使用javac、java和jar等命令来执行java操作,从而达到轻松的构建和部署java项目的目的。

一般来说,Ant 的构建文件默认为 build.xml,放在项目顶层目录中。然而,并没有限制构建文件必须命名为 bulid.xml,也并不限制放在项目顶层目录中。你可以将构建文件命名为其他名字,也可以将它放在项目的其他地方。

使用ant构建Java项目

利用Ant的javac任务来编译java程序

  • HelloWorld.java代码同上

  • 在根目录HelloWorld下建立build.xml文件,在该文件中编译HelloWorld.java文件,并将编译后的class文件放入myJavaClass目录中,在编译前,需先清除myJavaClass目录

    <?xml version="1.0"?>
    <project name="HelloWorld-javac" default="compile" basedir=".">
        <target name="clean">
           <delete dir="myJavaClass"/>
        </target>
    
        <target name="compile" depends="clean">
           <mkdir dir="myJavaClass"/>
        <javac srcdir="." destdir="myJavaClass"/>
        </target>
    </project>
    
  • 在根目录下运行命令ant,结果如下图所示:
    ant-javac.png

使用Ant的java任务运行Java程序

P.S. 为了使工程更规范,对项目目录结构做如下小修改
HelloWorldDir.PNG

  • 若要使用Ant中的java任务实现运行Java程序的功能,则需修改上述build.xml的内容,修改后如下:

    <?xml version="1.0"?>
    <project name="HelloWorld-java" default="run" basedir=".">
        <target name="clean">
           <delete dir="myJavaClass"/>
        </target>
    
        <target name="compile" depends="clean">
           <mkdir dir="myJavaClass"/>
          <javac srcdir="src" destdir="myJavaClass"/>
        </target>
    
        <target name="run" depends="compile">
           <java classname="HelloWorld">
               <classpath>
                  <pathelement path="myJavaClass"/>
               </classpath>
           </java>
        </target>
    </project>
    
  • 运行结果
    ant-java.PNG

在Eclipse IDE环境下使用ant build

以下以Eclipse IDE中创建一个简单的HelloWorldJava项目为例。
P.S. 若未安装Eclipse可参考centos7安装eclipse

  • 运行Eclipse,创建Java Project HelloWorld

  • 创建一个Java类 HelloWorld,代码同上面的HelloWorld代码

  • 创建一个文件夹来组织已编译的Java类文件。 该文件夹的名称可以是任意的,我使用的名称是myJavaClass

  • 创建build.xml文件,用来配置构建。build 是默认名称,但也可以设置其他名称。代码如下:

    <?xml version="1.0" encoding="UTF-8"?>  
    <project name="HelloWorld-Ant" default="run">  
        <target name="run" depends="compile">  
            <java classname = "HelloWorld">  
                <classpath path="myJavaClass"></classpath>  
            </java>  
        </target>  
        <target name="compile">  
            <javac includeantruntime="false" srcdir="./src" destdir = "myJavaClass"></javac>  
        </target>  
    </project>
    
  • 项目目录结构如下图所示:
    ant-dir.PNG

  • 以Ant Build方式运行程序,右键单击build.xml文件,然后选择Run as->Ant Build,运行结果如下图所示:
    ant-result.PNG

JUnit

JUnit 是一个回归测试框架,被开发者用于实施对应用程序的单元测试,加快程序编制速度,同时提高编码的质量。

创建测试类代码,如MyTest.java,在该类中进行测试的方法前添加标注@Test,借助Eclipse IDE进行JUnit Test,具体操作可参考Eclipse JUnit简单示例

SonarQube

sonar安装

  • 官网下载sonar-3.7.4.zipsonar-runner-2.4.zip

  • 解压unzip,将两个文件目录均移动至指定目录,我这里选用的是/opt

  • 配置环境变量sudo vim /etc/profile,添加如下内容:

    export SONAR_HOME=/opt/sonar-3.7.4/bin/linux-x86-64
    export SONAR_RUNNER_HOME=/opt/sonar-runner-2.4
    export PATH=SONAR_RUNNER_HOME/bin:$PATH
    
  • source /etc/profile使配置即刻生效

  • cd $SONAR_HOME进入启动目录:
    ./sonar.sh start:启动服务
    ./sonar.sh stop:停止服务
    ./sonar.sh restart:重启服务

  • 启动服务,访问0.0.0.0:9000localhost:9000
    sonar-start.PNG
    SonarQube.PNG
    浏览器中成功显示SonarQube的页面表示安装成功
    P.S. 如果访问SonarQube页面不成功的话,有可能是防火墙的端口未打开成的,可以通过如下命令开启:

    $ systemctl start firewalld
    $ firewall-cmd --state
    

具体更详细内容可参考Linux安装sonarQube

将sonar-runner作为服务启动

  • 添加服务启动脚本sudo vim /etc/init.d/sonar-runner,内容如下:

    #!/bin/sh
    #
    # rc file for SonarQube
    #
    # chkconfig: 345 96 10
    # description: SonarQube system (www.sonarsource.org)
    #
    ### BEGIN INIT INFO
    # Provides: sonar
    # Required-Start: $network
    # Required-Stop: $network
    # Default-Start: 3 4 5
    # Default-Stop: 0 1 2 6
    # Short-Description: SonarQube system (www.sonarsource.org)
    # Description: SonarQube system (www.sonarsource.org)
    ### END INIT INFO
    
    /usr/bin/sonar-runner $*
    
  • 设置随系统启动

    $ sudo ln -s $SONAR_RUNNER_HOME/bin/sonar-runner /usr/bin/sonar-runner
    $ sudo chmod 755 /etc/init.d/sonar-runner
    $ sudo chkconfig --add sonar-runner
    
  • 这时,在系统的任意目录下都可以运行命令sonar-runner,例如:
    sonar-runner.PNG

使用SonarQube分析源码

  • 进入工程根目录,我这里是~/桌面/CODE/EasyCalculator
  • 创建配置文件:code sonar-project.properties,文件内容如下:
#required metadata
#projectKey项目的唯一标识,不能重复
sonar.projectKey=EasyCalculator
sonar.projectName=EasyCalculator
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
sonar.modules=java-module

# Java module
java-module.sonar.language=java
java-module.sonar.sources=src
java-module.sonar.projectBaseDir=.
  • 编写好sonar-project.properties文件后,回到项目根目录, 输入命令sonar-runner,运行测试,结果如下:
    sonar-rslt.PNG
    表明运行成功

  • 访问localhost:9000点击对应项目,查看代码分析结果
    EasyCalculator-codeAnalysis.PNG

  • 最后记得将sonar关闭

    $ cd $SONAR_HOME
    $ ./sonar.sh stop
    

sonar-stop.PNG

参考资料

Java API官方手册
vim使用手册
Ant易百教程
centos7下javac的问题
Ant构建文件
用Ant实现Java项目的自动构建和部署
Linux安装sonarQube
Eclipse JUnit简单示例

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值