咨询1
咨询2
交流群
电话

从零开始搭建Java开发环境

文档 > 二次开发 2016-08-10 17:12 阅读

为了让大家更容易搭建好开发环境,在这里从零开始演示开发环境的搭建过程。希望对大家有所帮助。

演示中用到的软件可以在这里找到Jspxcms开发环境软件下载,也可以到相应官网里下载。

由于开发环境的复杂性,特别是使用maven之后,因为设置、操作不当或网络原因导致的错误千奇百怪,很难指望问一句我这怎么运行不起来或者截一个带有红叉的图片,就能解决问题。如果您在搭建开发环境遇到困难,最好的办法就是严格按照教程,一步一步认真严谨的操作,任何看起来似乎无关紧要的步骤,都有可能是产生错误的原因(更不要说输错了字符或者看花了眼睛)。

Maven会从网上下载依赖的jar包,这是很好的解决方案,但对中国程序员来说,似乎是个悲剧。由于国内缺少Maven镜像,经常要到国外的Maven中央库下载jar包,有时速度只有每秒几K。这还不算,如果因为网络中断或不稳定导致下载失败,本地Maven库会记录下来,从此不再下载这个文件,不管你怎么刷新工程甚至重启电脑。遇到这个问题,可以进入Maven本地仓库目录(如C:\Users\myname\.m2\repository),搜索所有文件名带有lastUpdated的文件,将其删除;然后在Eclipse中右击项目名 - Maven - Update Project。这样Maven又会继续下载那些因为网络原因没有正确下载的文件。右击项目名 - Maven - Update Project对于其它Maven错误也有很好的疗效,可以多试试。

演示中使用的是Eclipse开发工具,经常有人问是否支持MyEclipse(或其他工具)。Jspxcms是普通的Java Web项目,和其它Java Web项目一样,没有什么特别的不同,所以没有所谓的是否支持什么开发工具的说法。没有不支持的开发工具,只有不会用的开发工具,君不知网上流传着这样的一段话:高手都是用记事本做开发的。如果您用其他开发工具无法正确搭建,那么我们建议您还是直接使用Eclipse,这应该是最好的免费开发工具。

操作系统

使用Windows10。稳定、美观、性能好,兼容性也不错。

自带的软件也非常好,Edge浏览器进步明显,IE11是IE系列的最高版本,拼音、五笔输入法足够好用,自带杀毒软件,甚至还可以连接手机。很多软件都不需要再额外安装,不过这对做这方面软件的公司来说,也许不是什么好消息。

解压软件用7-zip,文本编辑器用notepad++,从此电脑清静了。

更重要的是,Windows10普及以后,WEB设计人员不用再兼容各种版本IE,可以大胆使用html5的新特征,开发效率更高,用户体验更好。如果需要测试IE10以下版本,可以使用虚拟机。

设置显示隐藏文件、文件夹和显示扩展名。右键开始菜单 - 控制面板(查看方式:小图标) - 文件资源管理器选项 - 查看,选中显示隐藏的文件、文件夹和驱动器,取消勾选隐藏已知文件类型的扩展名。系统默认不显示隐藏文件和已知文件类型的扩展名,主要是为了防止小白乱来,删除重要文件或者误改文件扩展名。但对于编程人员,则需要清楚的看到所有文件,包括完整文件名。

MySQL

使用MySQL5.7。直接使用MySQL提供的workbench客户端工具。

安装MySQL Server X64MySQL WorkbenchMySQL Documentation(可选)即可。

有可能要先安装vcredist_x64.exe,才能安装MySQL Workbench

下载地址:http://dev.mysql.com/downloads/

JDK

使用JDK8。如果需要兼容JDK6和JDK7,可以安装多个版本的JDK,通常先安装低版本,再安装高版本。位数选择64位。JDK可以通过EXE文件安装,也可以直接复制已经安装好的JDK文件夹。

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

为避免一些潜在和未知的问题,JDK安装的目录不要有中文或空格,不要安装在默认的C:\Program Files目录下,可以安装在类似C:\java的目录下。

设置环境变量JAVA_HOME,如C:\java\jdk8,该项必须设置。否则解压版Tomcat、Eclipse之类的软件无法运行,启动界面一闪而过,通常就是因为没有正确设置JAVA_HOME所致。在命令行运行echo %JAVA_HOME%,如能显示正确路径,说明设置成功。

设置环境变量Path,如%JAVA_HOME%\bin,加在单行Path值得末尾,用分号分隔,如...;%JAVA_HOME%\bin;新版Windows10支持多行Path值,则无需加分号。安装JDK8时,安装程序会自动设置好,不用手动设置。在命令行运行java -version,如能显示版本信息,说明设置成功。jdk安装的时候,有可能会自动设置C:\ProgramData\Oracle\Java\javapath为Path,这个地址指向jre,在某些情况下可能会导致一些问题,如maven有可能出现You need to run build with JDK or have tools.jar on the classpath之类的错误。所以%JAVA_HOME%\bin要设置在C:\ProgramData\Oracle\Java\javapath之前,或者把该项删除。

Maven

使用Maven-3.2.5。更高版本的Maven3.3需要JDK7以上版本(不兼容JDK6),更低版本的Maven可能不支持JDK8。

下载地址:http://maven.apache.org/download.cgi

设置环境变量MAVEN_HOME,如C:\maven\apache-maven-3.2.5。在命令行运行echo %MAVEN_HOME%,如能显示正确路径,说明设置成功。

设置环境变量Path,如%MAVEN_HOME%\bin。在命令行运行mvn -v,如能显示版本信息,说明设置成功。

Eclipse

使用eclipse-jee-mars-2-win32-x86_64。

下载地址:http://www.eclipse.org/downloads/eclipse-packages/

  • 设置文件编码。Window -> Preferences -> General -> Workspace,设置Text file encoding - OtherUTF-8。不设置该项,Java等文件里的中文可能显示为乱码。
  • 修改JSP编码。Window -> Preferences -> Web - JSP FilesEncodingUTF-8
  • 修改字体。如果Java文件里的中文字体很小,可以设置Window -> Preferences -> General -> Appearance -> Colers and Font -> Basic -> Text Font,字体选择Courier New;或者字体为Consolas,将脚本西欧字符改为中欧字符
  • 关闭自动验证文件。Window -> Preferences -> Validation,取消Build列的所有勾选框。Eclipse的语法检查不够完善,对很多正确的语法误判为错误语法,导致误报大量错误。很多能正确运行的文件在Eclipse里显示有错误,即属于这种情况。
  • 关闭Updating Error Reporting Database。Window -> Preferences -> General -> Startup and Shutdown,取消勾选Eclipse Automated Error Reporting
  • 设置JRE。Window -> Preferences -> Java -> Installed JREs,点Add增加JDK7(如C:\java\jdk7)、JDK6(如C:\java\jdk6)。如果需要生成JDK6或JDK7的classes,则需要设置该项,否则Eclipse会给出警告。还需将JDK8的路径设置在JDK目录下,默认是设置在JRE目录下,这在运行maven时有可能出错。
  • 设置Maven。Window -> Preferences -> Maven -> Installations,点Add增加Maven3.2.5(如:C:\apache-maven-3.2.5),点Finish后,勾选apache-maven-3.2.5为默认Maven

Eclipse插件

Eclipse插件市场地址:http://marketplace.eclipse.org/

点击Help -> Eclipse Marketplace可以查找需要的插件。

安装Properties Editor插件。Help -> Eclipse MarketplaceFind框中输入Properties Editor搜索,找到名为Properties Editor的插件,点Install。可以自动翻译properties文件中的中文。如不安装这个插件,properties文件里的中文会直接显示为类似\u8888的代码。

安装FreeMarker IDE插件。Help -> Eclipse MarketplaceFind框中输入FreeMarker IDE搜索,找到名为FreeMarker IDE from JBoss Tools的插件,点Install

安装YAML插件。Help -> Eclipse MarketplaceFind框中输入YEdit搜索,找到名为YEdit的插件,点Install

Maven仓库

在国内连接Maven中央库非常慢甚至连不上,不使用国内的Maven仓库镜像,基本不可能顺利的使用Maven进行开发。

如果在启动项目时下载依赖包非常慢或者出现

Failed to execute goal on project xxx:
Could not resolve dependencies for project com.jspxcms:xxx:
Failure to find xxx.xxx:xxx:jar:xxxxxx in https://repo.maven.apache.org/maven2

之类的错误,就是提示无法从Maven中央库https://repo.maven.apache.org/maven2下载依赖包。

由于Maven仓库镜像非常耗流量,并且几乎不可能盈利。家里装一个100M的带宽不是个事,但给服务器100M带宽就很贵了,而且百兆带宽对于Maven仓库镜像来说,简直是杯水车薪,所以国内的Maven仓库镜像已经接二连三地倒下了。不过现在财大气粗的阿里云担起了这个重任,为广大中国程序员带来了福音。公司使用还是建议搭建Maven私服,别把阿里云给也给干倒了。

使用阿里云Maven镜像仓库,修改maven安装目录下的settings.xml配置文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <!--<localRepository>D:/repositories/maven</localRepository>-->
  <pluginGroups></pluginGroups>
  <proxies></proxies>
  <servers></servers>
  <mirrors>
    <mirror>
      <id>central</id>
      <mirrorOf>*</mirrorOf>
      <name>Nexus Aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
  </mirrors>
  <!-- 注意:以下配置用于指定Maven插件的仓库,不能省略,否则可能出现无法加载Maven插件的问题(如:`com.mysema.maven:apt-maven-plugin`) -->
  <profiles>
    <profile>
      <id>nexus</id>
      <repositories>
        <repository>
          <id>nexus-repo</id>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>nexus-repo</id>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>nexus</activeProfile>
  </activeProfiles>
</settings>

本地仓库默认目录为C:\Users\myname\.m2\repository,如.m2文件夹不存在,需在命令行执行mkdir C:\Users\myname\.m2创建目录(myname换成实际的用户名),直接在图形界面上有可能无法创建.开头的文件夹。操作系统默认不显示隐藏文件和.开头的文件,需要设置显示隐藏的文件和文件夹。

创建数据库并导入项目

按照源码包README.md文件中的步骤操作。该文件是markdown格式文档,可以直接用记事本打开。各个版本的README.md内容会有不同。以下给出一个范例作为参考,注意:直接使用此步骤会导致无法正确启动请按照源码包下的README.md文件操作

  1. 创建数据库。如使用MySQL,字符集选择为utf8或者utf8mb4(支持更多特殊字符,推荐)。
  2. 执行数据库脚本。数据库脚本在database目录下。
  3. 在eclipse中导入maven项目。点击eclipse菜单File - Import,选择Maven - Existing Maven Projects。创建好maven项目后,会开始从maven服务器下载第三方jar包(如spring等),需要一定时间,请耐心等待。
  4. 修改数据库连接。打开/src/main/resources/custom.propertis文件,根据实际情况修改jdbc.urljdbc.usernamejdbc.password的值。
  5. 运行程序。在eclipse中,右键点击项目名,选择Run as - Maven build...Goals填入tomcat6:runtomcat7:run,然后点击Run
  6. 访问系统。前台地址:http://localhost:8080/,手机站地址:http://127.0.0.1:8080/;后台地址:http://localhost:8080/cmscp/index.do,用户名:admin,密码:空。

上下文路径

程序通常在部署在Tomcat根目录,首页访问地址类似http://www.mysite.com/ http://localhost/ http://localhost:8080/。在一些特殊的场合,如在Eclipse默认的Tomcat启动方式(非maven方式),可能将程序部署在某一个路径下,首页访问地址类似http://www.mysite.com/jspxcms/ http://localhost/mysite/ http://localhost:8080/jspxcms/。此时访问网站前台会出现样式不能正常显示的情况,可以到后台系统 - 系统设置中设置上下文路径,类似为/jspxcms,其中斜杠/不能省略,jspxcms为部署目录的路径,如在开发环境,则通常为项目名。

开发环境要避免使用上下文路径,除非网站正式部署时也要部署到相应的路径下,否则在开发环境下上传的图片部署到正式环境时,不能正常显示。因为上传图片时,图片地址会带有上下文路径的信息。

Eclipse默认的tomcat启动方式(非maven方式)会将程序部署到特定目录再启动,并不是直接在工程所在目录启动tomcat,在开发环境下上传的图片(包括通过系统后台新增和修改的模板)也保存在特定的部署目录,并不会保存在程序所在的目录。当修改了Eclipse源代码或文件,会自动重新部署程序,之前上传的图片会被清空。如果发现在开发环境下上传的图片突然都找不到了,很可能就是这个原因。

综上所述,强烈建议是用maven方式启动程序(具体方式见源码包README.md)。