安装Nodejs
更改npm源
官方源替换为 淘宝npm源
|
|
安装Hexo
|
|
Hexo3.0之后把server独立出来了,所以需要单独安装。
创建hexo工程
|
|
新建POST
|
|
生成静态文件
|
|
运行hexo服务器
|
|
清除
|
|
发布
|
|
Better late than never!
官方源替换为 淘宝npm源
|
|
|
|
Hexo3.0之后把server独立出来了,所以需要单独安装。
|
|
|
|
|
|
|
|
|
|
|
|
Maven是apache旗下的开源工具,采用Project Object Model(POM)概念来管理项目,配置信息是都被定义在pom.xml文件。
boot:plexus-classworlds-2.5.2.jar
该文件是jar包下载的引擎,通过该工具来下载jar包
conf:settings.xml
maven的配置文件主要配置下面几个:
Maven规约的目录结构,java项目结构如下
java项目
首先进入项目文件目录
生命周期命令:
有三个内置生命周期
mvn validate
: 验证项目是否正确,所有必要的信息可用mvn process-resources
把代码复制到目标目录下,为以后打包用mvn compile
: 编译项目的源代码mvn test
: 用合适的单元测试框架测试编译的源代码。这些测试不应该要求代码被打包或部署mvn package
: 打包mvn integration-test:
: 将包过程并部署到可以运行集成测试的环境中mvn verify
: 对集成测试的结果执行任何检查,以确保满足质量标准mvn install
: 安装到本地仓库mvn deploy
: 部署mvn clean
: 清除mvn site
:生产该项目的站点文档maven通过坐标的概念来唯一标识jar包或者war包
坐标的组成:gourpId + artifactId + Version
<localRepository>这里是你定义的本地仓库地址</localRepository>
默认的第三方jar包下载地址http://repo.maven.apache.org/maven2
假如我们要使用阿里云的public repository的话,我们可以在maven的settings.xml中,加入如下配置,就可以使用阿里云提供的镜像库了。具体配置如下:
<mirrors>
元素里面加一个<mirror>
配置
|
|
<profiles>
中加一个<profile>
配置
|
|
|
|
|
|
|
|
pom.xml文件的默认配置在lib\maven-model-builder-3.5.0.jar里面的pom.xml
项目里面所有新建的pom.xml都从这里super pom继承而来
查看pom继承项mvn help:effective-pom
test 范围指的是测试范围有效,在编译和打包时都不会使用这个依赖,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
compile 范围指的是编译范围有效,在编译和打包时都会将依赖存储进去,会随着项目一起发布,缺省值
provided 在编译和测试的过程有效,最后生成war包时不会加入,诸如:servlet-api,因为servlet-api,tomcat等web服务器已经存在了,如果再打包会冲突 。同时没有传递性,即:child module无法引用。
runtime 在运行的时候依赖,在编译的时候不依赖 ,如JDBC驱动,适用运行和测试阶段。
system 跟provided 相似,但是在系统中要以外部JAR包的形式提供,maven不会在repository查找它。 注意:此标记已被弃用
import 此范围仅在类型为pom的依赖关系支持在
注意:间接依赖问题:依赖的jar包必须是compile范围,假如是test范围,则发布的jar包不会包含test范围依赖的jar包和依赖关系
我们可以通过pom来管理多个子pom
父pom
|
|
子Restaurant的pom,这是一个webapp项目
|
|
子Kitchen的pom,这是java项目
|
|
mvn help:describe -Dplugin=<plugin_name>
-Dgoal=<goal>
-Ddetail=true
mvn help:describe -Dplugin=compiler -Dgoal=compile -Ddetail=true
mvn help:help -Ddetail=true
mvn help:describe -Dplugin=tomcat7
mvn exec:java
mvn exec:exec
可以通过Maven一键部署到tomcat服务器
$CATALINA_HOME/conf/tomcat-users.xml 的文件里面 <tomcat-users>
标签里面添加
|
|
$MAVEN_HOME/conf/settings.xml 的文件里面 <servers>
标签里面添加
|
|
项目的pom.xml的文件里面 <build>
里面的 <plugins>
标签里面添加
|
|
指令部署:mvn tomcat7:deploy
重新指令部署:mvn tomcat7:redeploy
解除指令部署:mvn tomcat7:undeploy
Maven 5分钟入门
部署tomcat
Maven中的dependencyManagement意义
scope作用域详解
Exec Maven Plugin全面解析和使用示例
使用Maven运行Java main的3种方式
Java编程思想的第三章,使用了
|
|
我们接着看代码的具体实现
|
|
import
这个语法大家都知道是导入包的,import static
第一次见会觉得很奇怪,因为import static
是Java SE5新增加的,称之为静态导入
,通过static
关键字我们可以知道这是导入静态相关的功能,可以导入静态修饰的变量、常量、方法和内部类都可以导入。
使用import static xxx.xxx.类名.*;
这样我们在Assignment
的类中可以访问Print
的能够访问到的静态方法和静态成员
|
|
使用import static xxx.xxx.类名.方法名;
这样我们在Assignment
的类中可以访问Print
的某个静态方法,这里使用import static xxx.xxx.类名.print;
来举例。值得注意的是,Print类中的print方法有重载,所以print的重载方法都可以访问
|
|
使用import static xxx.xxx.类名.成员;
这样我们在Assignment
的类中可以访问Print
的某个成员,这里使用 import static xxx.xxx.类名.number;
来举例。
|
|
使用import static xxx.xxx.类名.内部类;
除了使用自己定义的类之外,我们一样可以使用系统的类,如下
|
|
假如成员重名,会对导入的成员进行覆盖,使用当前类中的成员
假如方法重名,一样参数的方法会进行覆盖,使用当前类的方法;参数不一样的进行重载。
我们知道在Integer类和Long类中都有MAX_VALUE,当我们都一起使用静态导入的时候会报错,The field MAX_VALUE is ambiguous
,意思是编译器分不清到底是谁的MAX_VALUE。
|
|
import static
这个新的语法给我们带来便利,我们可以更简短来编写代码,但是也应该多注意重名的情况。