Java Web/Eclipse/Maven/Tomcat

最近有个新项目是java web项目,记录一下,可能比较乱。虽然没接触过Java,但是eclipse还是用过的

初识项目

同事说,项目是maven打包的,可以用maven开启服务,我就研究了一下,由于项目不能外露,我先创建一个demo的项目。

用eclipse 创建 Maven web项目

  • 打开eclipse File->New->Maven Project。如果默认列表中没有Maven Project 选择 Other...

  • 如下图,什么不用选择,直接Next

  • 如下图,请选择 maven-archetype-webapp,因为我们要创建一个web项目

  • 如下图输入 group id 与 artifact id 点击finish即可

  • 下面配置一个Tomcat Apache 服务器

    • 访问 tomcat 官网下载压缩包,并解压。
    • 在 eclipse中依次打开 Window->Preferences
    • 如图一次找到 Server->Runtime Environments 点击子面板上的 Add 按钮

    • 选择你自己的下载的tomcat 版本,我下载的是7,点击Next

    • 找到刚才解压好的Tomcat路径,点击finish

  • 下面直接将,刚才的Maven项目放到 Tomcat中运行。
    • 项目上右键依次 Run As-> Run on Server,选择刚才添加的Tomcat,

    • 上图,成功开启WebApp

使用Maven自己创建Web项目

下面介绍如何用CMD,自己用maven 命令行创建web项目

  • 到maven官网下载 maven,下载后解压
  • 到环境变量去配置 maven 命令,将 [your maven path]/bin配置到path中
  • 随意打开一个CMD 键入 mvn --version
# 打出版本信息
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00)
Maven home: C:\Workflow\apache-maven-3.6.0\bin\..
Java version: 1.8.0_172, vendor: Oracle Corporation, runtime: C:\Program Files (x86)\Java\jdk1.8.0_172\jre
Default locale: en_US, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "x86", family: "windows"
  • CD 到你想要创建项目的目录下,键入如下命令:
mvn archetype:generate # 创建-DgroupId=packageName # 相当于 eclipse里面的groupid-DartifactId=webappName # 相当于 eclipse里面的artifactid-DarchetypeArtifactId=maven-archetype-webapp #相当于在eclipse中选择maven-archetype-webapp
# 命令请弄成一行,执行
mvn archetype:generate -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp
#这里说明一下,在之前的maven版本使用create,在3.0.5版本之后使用generate替代create了
#贴一下成功的结果
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:3.0.1:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:3.0.1:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO]
[INFO]
[INFO] --- maven-archetype-plugin:3.0.1:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Interactive mode
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-bundles/2/maven-archetype-bundles-2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-bundles/2/maven-archetype-bundles-2.pom (1.5 kB at 2.2 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetype/maven-archetype-parent/1/maven-archetype-parent-1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/archetype/maven-archetype-parent/1/maven-archetype-parent-1.pom (1.3 kB at 1.9 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/4/maven-parent-4.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/4/maven-parent-4.pom (10.0 kB at 15 kB/s)
[INFO] Using property: groupId = packageName
[INFO] Using property: artifactId = webappName
Define value for property 'version' 1.0-SNAPSHOT: : test
[INFO] Using property: package = packageName
Confirm properties configuration:
groupId: packageName
artifactId: webappName
version: test
package: packageNameY: :
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-webapp:1.0
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: basedir, Value: C:\Workflow\Eclipse WS
[INFO] Parameter: package, Value: packageName
[INFO] Parameter: groupId, Value: packageName
[INFO] Parameter: artifactId, Value: webappName
[INFO] Parameter: packageName, Value: packageName
[INFO] Parameter: version, Value: test
[INFO] project created from Old (1.x) Archetype in dir: C:\Workflow\Eclipse WS\webappName
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  43.033 s
[INFO] Finished at: 2018-12-18T14:48:42+08:00
[INFO] ------------------------------------------------------------------------
  • 直接键入 mvn tomcat:run,经过maven一顿自动下载之后,会开启tomcat
C:\Workflow\Eclipse WS\webappName>mvn tomcat:run
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------------< packageName:webappName >-----------------------
[INFO] Building webappName Maven Webapp test
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] >>> tomcat-maven-plugin:1.1:run (default-cli) > compile @ webappName >>>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ webappName ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ webappName ---
[INFO] No sources to compile
[INFO]
[INFO] <<< tomcat-maven-plugin:1.1:run (default-cli) < compile @ webappName <<<
[INFO]
[INFO]
[INFO] --- tomcat-maven-plugin:1.1:run (default-cli) @ webappName ---
[INFO] Running war on http://localhost:8080/webappName
[INFO] Using existing Tomcat server configuration at C:\Workflow\Eclipse WS\webappName\target\tomcat
十二月 18, 2018 3:07:41 下午 org.apache.catalina.startup.Embedded start
INFO: Starting tomcat server
十二月 18, 2018 3:07:41 下午 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.29
十二月 18, 2018 3:07:41 下午 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
十二月 18, 2018 3:07:41 下午 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
  • 浏览器 访问上面提供的网址,发现报错了。如下图

  • 调查之后发现是tomcat的版本与jdk版本不符合,我的本地是1.8这样我们需要tomcat7来运行,上面eclipse安装的恰好还是7
  • 打开项目目录下的pom.xml文件,在build标签下增加如下内容

<plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version><configuration><port>8080</port><uriEncoding>UTF-8</uriEncoding><url>http://localhost:8080</url><server>tomcat7</server></configuration></plugin>
</plugins>
  • 重新键入命令 mvn tomcat7:run,经过一顿下载之后开启tomcat7
C:\Workflow\Eclipse WS\webappName>mvn tomcat7:run
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------------< packageName:webappName >-----------------------
[INFO] Building webappName Maven Webapp test
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] >>> tomcat7-maven-plugin:2.2:run (default-cli) > process-classes @ webappName >>>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ webappName ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ webappName ---
[INFO] No sources to compile
[INFO]
[INFO] <<< tomcat7-maven-plugin:2.2:run (default-cli) < process-classes @ webappName <<<
[INFO]
[INFO]
[INFO] --- tomcat7-maven-plugin:2.2:run (default-cli) @ webappName ---
[INFO] Running war on http://localhost:8080/webappName
[INFO] Using existing Tomcat server configuration at C:\Workflow\Eclipse WS\webappName\target\tomcat
[INFO] create webapp with contextPath: /webappName
十二月 18, 2018 3:26:14 下午 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
十二月 18, 2018 3:26:14 下午 org.apache.catalina.core.StandardService startInternal
INFO: Starting service Tomcat
十二月 18, 2018 3:26:14 下午 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.47
十二月 18, 2018 3:26:16 下午 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
  • 访问浏览器,发现可以正常显示Hello World

  • 至此,使用maven 创建了一个web项目并运行起来

使用jetty运行Maven 项目

给我项目中,我是用jetty起来的,没有使用tomcat,介绍下jetty的使用方法

  • 接着上面的项目来,我们直接更改pom.xml文件,放到中
<plugin><groupId>org.mortbay.jetty</groupId><artifactId>maven-jetty-plugin</artifactId><version>6.1.5</version><configuration><webAppSourceDirectory>src/main/webapp</webAppSourceDirectory><scanIntervalSeconds>0</scanIntervalSeconds><!--这个是jetty支持的java热部署,但是不建议使用--><contextPath>/webappName</contextPath><connectors><connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"><port>8080</port></connector></connectors></configuration>
</plugin>
  • 关闭刚才开启的tomcat,键入 mvn jetty:run
# maven 一顿安装之后,输出如下,
[INFO] Configuring Jetty for project: webappName Maven Webapp
[INFO] Webapp source directory = C:\Workflow\Eclipse WS\webappName\src\main\webapp
[INFO] web.xml file = C:\Workflow\Eclipse WS\webappName\src\main\webapp\WEB-INF\web.xml
[INFO] Classes = C:\Workflow\Eclipse WS\webappName\target\classes
[INFO] Logging to org.slf4j.impl.MavenSimpleLogger(org.mortbay.log) via org.mortbay.log.Slf4jLog
[INFO] Context path = /webappName
[INFO] Tmp directory = C:\Workflow\Eclipse WS\webappName\target\work
[INFO] Web defaults =  jetty default
[INFO] Web overrides =  none
[INFO] Webapp directory = C:\Workflow\Eclipse WS\webappName\src\main\webapp
[INFO] Starting jetty 6.1.5 ...
[INFO] jetty-6.1.5
[INFO] No Transaction manager found - if your webapp requires one, please configure one.
[INFO] Started SelectChannelConnector@0.0.0.0:8080
[INFO] Started Jetty Server
  • 打开浏览器,重新输入localhost:8080,还是能够正常访问Hello World

在 eclipse中,使用maven build web项目

Eclipse中当然也可以使用上面的maven 命令进行项目build

  • 打开Eclipse,将上面使用maven的项目Import到eclipse 工作目录中。一次选择 File->Import->,找到 Maven -> Existing Maven Project
  • 打开项目后,在导入的项目上右键,依次找到 Run as -> Maven build...先配置下maven执行的命令,要选择带三个点的呦。
  • 做如下的配置,

  • Console 输出

  • 增加另一个配置,配置 tomcat7:run
  • 访问浏览器会发现都可以访问Hello World

Eclipse的Java 热部署

改个java 代码就需要重新开服务器感觉太耽误效率了。最后了解到有一个叫Jrebel的插件,下面介绍一下

  • 依次点击 Help -> Eclipse Marketplace搜索 Jrebel 插件,依次安装上,重启Eclipse。

  • 插件需要激活,这边可以申请免费的有14天的免费试用时长。直接到官网注册一个账号就可以了。将license copy下来
  • 依次打开 Help->JRebel->Configuration配置lincense,免费的话选择第三个Activation Code,将刚才注册账号时给的code复制进来就可以。在这里推荐一个永久免费的,是我在网上找到的一个server:http://139.199.89.239:1008/,邮箱随便输入就好了。

  • 由于我们在Eclipse里面配置的,所以想要使用,Jrebel必须 Run on server使用Eclipse中的 tomcat
  • 在你的Tomcat启动之前在Console里面看到如下输出,证明你成功了:

2018-12-18 17:14:49 JRebel:  Starting logging to file: C:\Users\kanewang\.jrebel\jrebel.log
2018-12-18 17:14:49 JRebel:
2018-12-18 17:14:49 JRebel:  #############################################################
2018-12-18 17:14:49 JRebel:
2018-12-18 17:14:49 JRebel:  JRebel Agent 2018.2.3 (201811261141)
2018-12-18 17:14:49 JRebel:  (c) Copyright ZeroTurnaround AS, Estonia, Tartu.
2018-12-18 17:14:49 JRebel:
2018-12-18 17:14:49 JRebel:  Over the last 2 days JRebel prevented
2018-12-18 17:14:49 JRebel:  at least 8 redeploys/restarts saving you about 0.3 hours.
2018-12-18 17:14:49 JRebel:
2018-12-18 17:14:49 JRebel:  License acquired from License Server: http://139.199.89.239:1008
2018-12-18 17:14:49 JRebel:
2018-12-18 17:14:49 JRebel:  Licensed to kanewang.
2018-12-18 17:14:49 JRebel:
2018-12-18 17:14:49 JRebel:
2018-12-18 17:14:49 JRebel:  #############################################################
2018-12-18 17:14:49 JRebel:  
  • 我们改一个java代码

    • 这里会发现创建的maven项目中没有java代码,我们接下来介绍下,如何使用spring框架
    • 我们首先在main文件夹下创建一个目录java
    • 然后再java文件夹下床建一个package,找不到package选择 other搜索一下 package,我的包叫kane1
    • 在kane1包下创建文件test1Controller.java,这个controller目前还不能被web访问到。
    • main/webapp/WEB_INF下创建一个xml,名字随意,我的是spring-servlet.xml,并写入如下内容
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <mvc:default-servlet-handler/><!-- Activates scanning of @Controller --><!-- 这里是你刚才定义的包位置,我只有一层这里是告诉spring kane1包下带@Controller annotation的方法都有映射到servlet里面去--><context:component-scan base-package="kane1" />         <mvc:annotation-driven/>
    </beans>
    • 下面更改pom.xml文件,增加两个包的依赖。
      <dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.0.1</version><scope>provided</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.0.3.RELEASE</version></dependency>
    • 然后修改test1Controller.java,代码如下
    package kane1;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.ResponseBody;
    @Controller
    public class test1Controller {@RequestMapping(value = "test", method = RequestMethod.GET)//定义方法与url的映射关系public @ResponseBody String test(HttpServletRequest request,HttpServletResponse response) {return "This is test1 controller's test function";}
    }
    • 重新启动服务器,在url中输入 http://localhost:8080/kane1/test,上图:

    • 我们这个时候更改一下test1.Controller.java,将输出更改为 "This is test1 controller's test function modify!",在console里面看到如下提示证明JRebel成功在检测java代码的变化

    2018-12-19 10:01:06 JRebel: Reloading class 'kane1.test1Controller'.
    • 我们不重启tomcat,直接刷新刚才的页面,上图:发现热部署成功了。

  • 最后再上一个,自动部署的截图吧

命令行中使用JRebel 热部署

Jrebel 本身支持很多种使用方式,下面我们再尝试一下,自己在使用命令行,如何进行热部署的配置。

  • 到官网下载软件的压缩包,官网,然后解压。上一下目录结构
│  3rd-party-licenses-jrebel.txt
│  Changelog.txt
│  jrebel.ico
│  jrebel.jar
│  jrebel.png
│  License.txt
│  readme.txt
│  ZeroTurnaround.url
│
├─bin
│      activate-gui.cmd
│      activate-gui.sh
│      activate.cmd
│      activate.sh
│      go-offline.cmd
│      go-offline.sh
│      jrebel-activation.jar
│
└─libjrebel32.dlljrebel64.dlllibjrebel32.dyliblibjrebel32.solibjrebel64.dyliblibjrebel64.so
#我们直接使用lib下的文件,bin下的文件是登录激活使用的,因为在Eclipse里面已经激活了,是不需要再次激活的
  • 在 cmd中打开项目目录,键入如下命令,这次我们以jetty开启web 服务
set MAVEN_OPTS=-agentpath:[your extract path]\lib\jrebel32.dll
# 设置环境变量,后面是32还是64看你的jdk位数,错了会提醒你的
  • 确保一件事情,打开pom.xml,保证jetty的自动部署时间scanIntervalSeconds是0,也就是关闭掉
<plugin><groupId>org.eclipse.jetty</groupId><artifactId>jetty-maven-plugin</artifactId><configuration><scanIntervalSeconds>0</scanIntervalSeconds></configuration>
</plugin>
  • CMD中键入 mvn jetty:run开启服务:
#看到如下输出,就证明成功了
2018-12-19 10:20:49 JRebel:  Starting logging to file: C:\Users\kanewang\.jrebel\jrebel.log
2018-12-19 10:20:49 JRebel:
2018-12-19 10:20:50 JRebel:  #############################################################
2018-12-19 10:20:50 JRebel:
2018-12-19 10:20:50 JRebel:  JRebel Agent 2018.2.3 (201811261141)
2018-12-19 10:20:50 JRebel:  (c) Copyright ZeroTurnaround AS, Estonia, Tartu.
2018-12-19 10:20:50 JRebel:
2018-12-19 10:20:50 JRebel:  Over the last 2 days JRebel prevented
2018-12-19 10:20:50 JRebel:  at least 12 redeploys/restarts saving you about 0.5 hours.
2018-12-19 10:20:50 JRebel:
2018-12-19 10:20:50 JRebel:  License acquired from License Server: http://139.199.89.239:1008
2018-12-19 10:20:50 JRebel:
2018-12-19 10:20:50 JRebel:  Licensed to kanewang.
2018-12-19 10:20:50 JRebel:
2018-12-19 10:20:50 JRebel:
2018-12-19 10:20:50 JRebel:  #############################################################
2018-12-19 10:20:50 JRebel:
  • 我们继续更改test1Controller.java,将test1输出改为 "This is test1 controller's test function modify again!"
#继续看cmd输出
[WARNING] !RequestLog
[INFO] Started SelectChannelConnector@0.0.0.0:8080
[INFO] Started Jetty Server
# 有下面这句
2018-12-19 10:22:49 JRebel: Reloading class 'kane1.test1Controller'.
  • 上结果图,输出变化了。

  • 给个官网的关于自己配置JRebel的链接 链接

总结

我们这个项目比较老,用的spring MVC框架,但是需要配置比较繁琐。所以上面的东西可能都已经没啥用了,本人也是初学者。目前应该都是使用Spring boot创建了,推荐一个在线创建项目的网址,很好用。Spring Boot 等再说了。本人真的是一点没学过java,有什么错误的地方望大神指出,好做学习。谢谢。

转载于:https://www.cnblogs.com/primadonna/p/10141883.html

关于Maven打包Java Web项目以及热部署插件Jrebel的使用相关推荐

  1. Maven-EclipseEE使用Maven构建Java web项目从0到1

    Maven是什么 安装Maven 解压apache-maven-350-binzip 新建变量M2_HOME配置Maven主目录 在 Path 变量中添加 Maven的bin目录 命令窗口mvn -v ...

  2. myeclipse java maven web 项目结构,Myeclipse 10 Maven 构建 Java Web 项目

    下载 Maven http://maven.apache.org/download.cgi,解压到任意非C盘位置,比如:D:\Java\apache-maven-3.1.0 打开 Myeclipse ...

  3. IDEA社区版热部署插件JRebel and XRebel

    热部署:指在修改项目BUG的时候对JSP或JAVA类进行了修改(除了配置文件外)在不重启WEB服务器前提下能让修改生效. idea中好用的热部署插件--JRebel and XRebel File-& ...

  4. IDEA热部署插件Jrebel安装以及使用步骤

    JRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效.IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费时间浪费生命. ...

  5. Eclipse热部署插件(Jrebel) 下载安装教程

    所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用. 对于Java应用程序来说,热部署就是在运行时更新Java类文件.在基于Java的应用服务器实现热部署的过程中,类装入器扮演着重要的 ...

  6. Idea之热部署插件JRebel+XRebel

    文章目录 Idea之热部署插件JRebel+XRebel 1. devtools热部署 1. 使用流程 2. 缺点 2. Jrebel and XRebel for IntelliJ 1. 安装 2. ...

  7. Intellij热部署插件JRebel

    Intellij热部署插件JRebel 安装JRebel 激活JRebel 相关设置 Intellij热部署插件JRebel 项目需求,一直用eclipse的我,也要改用IDEA了,一开始,很不习惯. ...

  8. IDEA热部署插件JRebel下载、注册教程

    IDEA热部署插件JRebel下载.注册教程: 下载: 链接:https://pan.baidu.com/s/1FH0W50Am8FSobPsXYko95Q 提取码:ibqw 复制这段内容后打开百度网 ...

  9. IDEA热部署插件JRebel and XRebel

    IDEA热部署插件JRebel and XRebel 嘚吧嘚 下载安装 激活 配置 使用 嘚吧嘚 刚开始用过一段时间的eclipse,其他方面没感觉,但是eclipse的热部署真的是深得我心啊

最新文章

  1. AsyncTask应用解析
  2. Linux入门:部署JavaWeb项目
  3. 垂直居中实现方式总结
  4. c语言数组算n阶乘,c语言中如何计算n的阶乘
  5. 汇编.s文件包含头文件处理
  6. ASP.NET Core分布式项目实战(第三方ClientCredential模式调用)--学习笔记
  7. linux 建议锁和强制锁
  8. spring cloud config的bootstrap.yml与application.proterties的区别
  9. Matlab资料汇总暨MATLAB中文论坛帖子整理(一)
  10. R语言—热力地图复合气泡饼图
  11. magicbook16使用心得,小技巧
  12. cas22112-84-1/5,10,15,20-四(4-氨基苯)-21H,23H-卟啉简称:H2TAPP; Tph
  13. 【题解】【AcWing】1526. 洗牌机
  14. 如何写使用说明书或使用手册
  15. Unity基础-灯光
  16. js 实现 将一句英文的首字母转大写,其它转小写
  17. 微信公众号软件 php,写公众号文章的软件有哪些?
  18. h5前端开发,css图片轮播图带小圆点
  19. mysqlbinlog恢复mysql表数据
  20. Plupload中文文档

热门文章

  1. 最坏适应算法的模拟(c++实现)
  2. (九)unity自带的着色器源码剖析之——————UnityShadowLibrary.cginc文件分析(实时阴影和烘焙阴影、阴影淡化、阴影渗漏处理、PCF阴影过滤解决实时阴影锯齿)
  3. 样本切分器—利用python按比例均匀切分样本
  4. kafka reassign 限速_为什么德国的高速就能不限速?
  5. How to reassign lifecycle in Windchill
  6. nexmo发送成功,但没有收到短信
  7. BigDecimal.divide异常 ArithmeticException
  8. 恶意注册商标的情形有哪些?恶意抢注商标的认定标准是什么?
  9. Pytorch实现性别识别,男女分类
  10. 内存规格的解释(Unbuffered DIMM,Registered DIMM和SODIMM)