从头开始 启动开源电商项目jShop
1. 引言
干了三年C#, 有了转Java 的念想,所以尝试学习一下java web,java语法本身和C#没有太多的差别,所以打算看看开源的java项目,开源的Java项目还是非常非常多的,曾经看了点
Nopcommerce的东西,确实设计的巧妙,那么就从电商项目开始,jshop是jeeshop的分支版本,在技术框架上使用spring mvc替代struts2, 页面使用freemarker替代jsp,代码可以在oschina上找到 http://git.oschina.net/dinguangx/jshop, 具体里面的东西先不管,先把它运行起来再说。
2. 安装Java
首先java jdk肯定需要安装 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
配置环境变量
添加新变量 JAVA_HOME 为Java的安装目录 比如 C:\Program Files\Java\jdk1.8.0_91
添加新变量CLASS_PATH 变量值为 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
在系统变量里面找到Path选择编辑,在最后添加【\;%JAVA_HOME%\bin;】
可以在CMD 下测试是否安转成功。
3 安装Tomcat
Tomcat主要是为了启动web,就像IIS一样。建议所有的都从官网下载:http://tomcat.apache.org/
4. 安装MySQL
http://www.mysql.com/downloads/
由于jshop的数据存在MySQL,所以必须的安装它,并且需要在启动前在MySQL建立一些必要的table
在windows上安装MySQL还是很傻瓜式的,但是需要设置用户名与密码,建议都设置为root,
启动MySQL,可以看到类似SQL SERVER的操作界面。
5 安装Maven
http://maven.apache.org/download.cgi
windows下可以选择
这个zip解压后是不需要安装的,可以直接copy到某个目录下并且设置环境变量。
可以使用maven编译jshop的源代码并生成eclipse或者IDEA的项目结构。
6 安装Eclipse
这里打算用Eclipse来管理jshop项目
http://www.eclipse.org/downloads/
7 配置
确保以上的东西都成功安装后,就可以开始配置jshop运行环境了
下载源代码
git clone https://git.oschina.net/dinguangx/jshop.git
使用Maven编译成Eclipse项目结构
mvn compile -Dmaven.test.skip=true
mvn eclipse:eclipse
编译过程需要下载以来的JAR包,就像.net 下使用nuget一样。
将jshop 导入到eclipse
在eclipse中, 依次通过import-> general-> existing projects into workspace选择jshop所在的目录,将项目导入到eclipse中
导入数据库脚本到mysql
mysql -proot -uroot < /path/to/jshop/doc/jeeshop.sql
(注意修改这里的/path/to/jshop)
如果mysql的用户名和密码不是root/root, 还需要修改应用的数据库连接配置conf.properties
中的数据库用户名和密码
使用Eclipse的maven插件(http://download.eclipse.org/technology/m2e/releases)编译运行jshop
在jshop的pom.xml上右键->run as-> maven build... 在弹出窗口中的goals中填写"tomcat6:run",如下:
编译发现有error 貌似是找不到javac
第一反应是java的环境配置出错了, 但也好像不是。原来是Eclipse java build path 中JRE System Library没有指向JDK下面的JRE
设置正确的JRE HOME
编译通过
再次运行时,可以通过run(或debug)中的Run Configurations(或Debug Configurations)找到jshop,双击即可再次运行
主页访问:http://localhost:8080/jshop
从头开始 启动开源电商项目jShop的更多相关文章
- Java开源电商项目比較
这里比較的都是国外的开源项目,备选项目有: Smilehouse Workspace.Pulse.Shopizer.ofbiz.bigfish.broadleaf 1.Smilehouse Works ...
- .NET Core/.NET5/.NET6 开源项目汇总7:电商项目
系列目录 [已更新最新开发文章,点击查看详细] 谈起.NET/.NET Core的企业级实战案例,电商项目是典型代表.其中高负载.高并发.高可用性等问题是考核.NET技术性能的重要指标.下面整 ...
- Mall电商项目总结(一)——项目概述
项目概述 此电商项目为本人学习项目,后端 使用nginx实现负载均衡转发请求到多台tomcat服务器,使用多台 redis服务器分布式 缓存用户登录信息. 项目已经部署到阿里云服务器,从阿里云linu ...
- Spring Boot微服务电商项目开发实战 --- 基础配置及搭建
根据SpringBoot实现分布式微服务项目近两年的开发经验,今天决定开始做SpringBoot实现分布式微服务项目的系列文章,帮助其他正在使用或计划使用SringBoot开发的小伙伴们.本次系列文章 ...
- SpringBoot电商项目实战 — ElasticSearch接入实现
如今在一些中大型网站中,搜索引擎已是必不可少的内容了.首先我们看看搜索引擎到底是什么呢?搜索引擎,就是根据用户需求与一定算法,运用特定策略从互联网检索出制定信息反馈给用户的一门检索技术.搜索引擎依托于 ...
- SpringBoot电商项目实战 — Zookeeper的分布式锁实现
上一篇演示了基于Redis的Redisson分布式锁实现,那今天我要再来说说基于Zookeeper的分布式现实. Zookeeper分布式锁实现 要用Zookeeper实现分布式锁,我就不得不说说zo ...
- 用SpringBoot搭建简单电商项目 01
前几节呢,我们已经简单介绍了SpringBoot框架的使用,从这一节开始,我们尝试着使用SpringBoot框架来一步一步搭建一个简单电商项目.当然了,这不是真正的电商项目,你可以看成是一个CRUD案 ...
- Python Django(WEB电商项目构建)
(坚持每一天,就是成功) Python Django Web框架,Django是一个开放源代码的Web应用框架,由Python写成.采用了MTV的框架模式,即模型M,模板T和视图V组成. 安装Pyth ...
- C# 大型电商项目性能优化(一)
经过几个月的忙碌,我厂最近的电商平台项目终于上线,期间遇到的问题以及解决方案,也可以拿来和大家多做交流了. 我厂的项目大多采用C#.net,使用逐渐发展并流行起来的EF(Entity Framewor ...
随机推荐
- Linux网络编程系列-TCP传输控制
滑动窗口(sliding window) 滑动窗口是用于流量控制的,发送端根据接收端的处理能力发送数据,不至于造成过多的丢包. 是发送方和接收方间的协调,对方的接收窗口大小就是自己的发送窗口大小. 在 ...
- jQuery的extend方法的深层拷贝
一些东西长时间不用就忘了,比如这个jQuery的extend方法的深层拷贝,今天看单页应用的书的时候,看到entend第一个参数是true,都蒙了.也是,自己的大部分对jQuery的学习知识来自锋利的 ...
- Oracle增删改DML脚本记录
--insert into添加数据 ','王军','男'); --提交事物 commit; --回滚事物 --rollback; insert into teacher1 select * from ...
- Node.js~sails.js~package.json的作用
回到目录 我们在sails框架进行node.js开发时,会涉及到项目的迁移,当迁移后可能你的module即丢失,这时,希望快速的安装所有的包包,可以使用下面命令 1 cd 你当前的sails项目 2 ...
- EF架构~引入规约(Specification)模式,让程序扩展性更强
回到目录 规约(Specification)模式:第一次看到这东西是在microsoft NLayer项目中,它是微软对DDD的解说,就像petshop告诉了我们MVC如何使用一样,这个规约模式最重要 ...
- Git使用相关
Git使用相关 使用git这么久还是时不时碰到小问题,根本原因在于没有仔细研究和做笔记 Git修改remote地址 之前一直使用的ssh的地址,估计是没配置好,每次都需要输密码烦死了,今天看到个用ht ...
- PHP 字符串函数
字符串是字符序列,比如 "Hello world!". PHP 字符串函数 在本节中,我们将学习常用的字符串操作函数. PHP strlen() 函数 strlen() 函数返回字 ...
- MySQL:基础—数据分组
MySQL:基础-数据分组 1.为什么要分组: 比如一个表中有多条订单记录,如上图,每条记录对应着一个商品,现在我要查询 每个商品被订购的单数 准备出货?也就是找到每个商品被订购的数量. 如果只找一个 ...
- (转)sql的join图解
假设我们有两张表,Table A是左边的表,Table B是右边的表. 其各有四条记录,其中有两条记录是相同的,如下所示: 1 id name id name 2 -- ---- ...
- JS实现弹出层对话框
点击按钮后,弹出层对话框,可交互,点击关闭后才关闭掉对话框. 效果图: 源码: <!doctype html> <html> <head> <meta cha ...