为了让大家更容易搭建好开发环境,在这里从零开始演示开发环境的搭建过程。希望对大家有所帮助。
演示中用到的软件可以在这里找到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以下版本,可以使用虚拟机。
设置显示隐藏文件、文件夹和显示扩展名。右键开始菜单 - 控制面板(查看方式:小图标) - 文件资源管理器选项 - 查看
,选中显示隐藏的文件、文件夹和驱动器
,取消勾选隐藏已知文件类型的扩展名
。系统默认不显示隐藏文件和已知文件类型的扩展名,主要是为了防止小白乱来,删除重要文件或者误改文件扩展名。但对于编程人员,则需要清楚的看到所有文件,包括完整文件名。
使用MySQL5.7。直接使用MySQL提供的workbench客户端工具。
安装MySQL Server X64
、MySQL Workbench
和MySQL Documentation
(可选)即可。
有可能要先安装vcredist_x64.exe
,才能安装MySQL Workbench
。
下载地址:http://dev.mysql.com/downloads/
使用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-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-jee-mars-2-win32-x86_64。
下载地址:http://www.eclipse.org/downloads/eclipse-packages/
Window -> Preferences -> General -> Workspace
,设置Text file encoding - Other
为UTF-8
。不设置该项,Java等文件里的中文可能显示为乱码。Window -> Preferences -> Web - JSP Files
,Encoding
为UTF-8
。Window -> Preferences -> General -> Appearance -> Colers and Font -> Basic -> Text Font
,字体选择Courier New
;或者字体为Consolas
,将脚本西欧字符
改为中欧字符
。Window -> Preferences -> Validation
,取消Build
列的所有勾选框。Eclipse的语法检查不够完善,对很多正确的语法误判为错误语法,导致误报大量错误。很多能正确运行的文件在Eclipse里显示有错误,即属于这种情况。Window -> Preferences -> General -> Startup and Shutdown
,取消勾选Eclipse Automated Error Reporting
。Window -> Preferences -> Java -> Installed JREs
,点Add
增加JDK7(如C:\java\jdk7
)、JDK6(如C:\java\jdk6
)。如果需要生成JDK6或JDK7的classes,则需要设置该项,否则Eclipse会给出警告。还需将JDK8的路径设置在JDK目录下,默认是设置在JRE目录下,这在运行maven时有可能出错。Window -> Preferences -> Maven -> Installations
,点Add
增加Maven3.2.5(如:C:\apache-maven-3.2.5
),点Finish
后,勾选apache-maven-3.2.5
为默认Maven。Eclipse插件市场地址:http://marketplace.eclipse.org/
点击Help -> Eclipse Marketplace
可以查找需要的插件。
安装Properties Editor插件。Help -> Eclipse Marketplace
,Find
框中输入Properties Editor
搜索,找到名为Properties Editor
的插件,点Install
。可以自动翻译properties文件中的中文。如不安装这个插件,properties文件里的中文会直接显示为类似\u8888
的代码。
安装FreeMarker IDE插件。Help -> Eclipse Marketplace
,Find
框中输入FreeMarker IDE
搜索,找到名为FreeMarker IDE from JBoss Tools
的插件,点Install
。
安装YAML插件。Help -> Eclipse Marketplace
,Find
框中输入YEdit
搜索,找到名为YEdit
的插件,点Install
。
在国内连接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
文件操作:
utf8
或者utf8mb4
(支持更多特殊字符,推荐)。database
目录下。File
- Import
,选择Maven
- Existing Maven Projects
。创建好maven项目后,会开始从maven服务器下载第三方jar包(如spring等),需要一定时间,请耐心等待。/src/main/resources/custom.propertis
文件,根据实际情况修改jdbc.url
、jdbc.username
、jdbc.password
的值。Run as
- Maven build...
,Goals
填入tomcat6:run
或tomcat7:run
,然后点击Run
。程序通常在部署在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
)。