2014年7月30日 星期三

nginx + tomcat + memcached (windows) 反向代理、負載平衡、sessione共享

環境:
OS : winsows7
JDK : 7


準備軟體

Server
JAR
NOTE: 注意用太新版本的jar反而會錯,tomcat會啟動不了。

資源列表:

memcached在client可用:

1.解壓 nginx、 tomcat、memcached

2. 將下載的 jar 放置 兩個  tomcat 的  /lib 底下

3.安裝 memcached
  • 管理員開啟命令列,執行 memcached.exe –d install 。
查詢啟動:
  • tasklist /fi "imagename eq memcached.exe"


  • 可以進到管理中將其改為手動啟動。

預設的port是 11211

指令:
     -p 監聽的Port   
     -l 連接的IP地址, 預設是本機  (localhost)
     -d start 啟動memcached服務
    -d restart 重起memcached服務
    -d stop|shutdown 關閉正在運行的memcached服務
    -d install 安裝memcached服務
    -d uninstall 卸載memcached服務
    -u 以的身份運行(僅在以root運行的時候有效)
    -m 最大記憶體使用,單位MB。默認64MB
    -M 記憶體耗盡時返回錯誤,而不是刪除項目
    -c 最大同時連接數,默認是1024
    -f 塊大小增長因子,默認是1.25
    -n 最小分配空間,key+value+flags 預設是48
    -h 顯示幫助

Note:windows7要使用管理員開啟命令模式

2014年7月20日 星期日

Java MongoDB find _id


搜尋條件必須用 ObjectID(  ),直接用String 會找不著。

BasicDBObject query = new BasicDBObject();
query.put("_id", new ObjectId(roleID));



2014年7月17日 星期四

Java Mongo Drivers Normal Authentication 一般驗證

OS : win7
mongoDB  :   2.6
MongoDB Drivers :  2.12.2
Language:Java


package global.db;


import java.net.UnknownHostException;

import java.util.Arrays;

import javassist.bytecode.stackmap.TypeData.ClassName;


import org.apache.log4j.Logger;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.annotation.Scope;

import com.mongodb.DB;

import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;

/**

 * @author hua
 * 處理 mongoDB 基礎連線建立 
 */
@Configuration
@Scope(BeanDefinition.SCOPE_SINGLETON)
public class MongoConnection {

private static Logger logger = Logger.getLogger(ClassName.class);

@Value("${mongo.host}")
private String host;

@Value("${mongo.port}")
private int port;

@Value("${mongo.dbName}")
private String dbName;

@Value("${mongo.user}")
private String user;

@Value("${mongo.pwd}")
private String pwd;

private MongoClient mongoClient;

public MongoConnection() throws UnknownHostException {
super();
}

/**

* 建立連線
*/
private void buildConnection()throws UnknownHostException{
try {
MongoCredential credential = MongoCredential.createMongoCRCredential(this.user, this.dbName, this.pwd.toCharArray());
MongoClientOptions options = getOption();
ServerAddress address = new ServerAddress(this.host, this.port);
mongoClient = new MongoClient(address, Arrays.asList(credential), options);
logger.info("--------------------MongoDB 驗證成功");
} catch (UnknownHostException e) {
logger.error("MongoDB 建立連線失敗!");
if(mongoClient != null){
mongoClient.close();
}
throw e;
}
}
//線程等待數量  * 主機最大連線數  = pool 數量
protected MongoClientOptions getOption(){
return new MongoClientOptions.Builder()
       .threadsAllowedToBlockForConnectionMultiplier(300) //線程等待的數量
       .connectionsPerHost(10) //主機最大連線數
       .connectTimeout(5000)
       .build();
}

/** 取得DB操作物件
* @return
* @throws UnknownHostException
*/
public DB getDB() throws UnknownHostException {
synchronized (this) {
if(mongoClient == null){
buildConnection();
}
}
return mongoClient.getDB(this.dbName);
}
}



Note :
  •  mongo 現在版本,建議使用MongoClientOptions 而不要再使用MongoOptions。
參考文件:



MongoDB MongoClient 與 Mongo

OS : win7
mongoDB  :   2.6
MongoDB Drivers :  2.12.2
Language:Java


  • MongoClient 與 Mongo 是mongoDB Driver  是連線管理物件,具有連線池功用。
  • Mongo 目前 Drivers API 有提到,請不要再使用Mongo,而因改用MongoClient來建立連線。

    此段引用mongoDB官方API 文件

    Mongo(MongoURI uri)
    Deprecated.

    可以看見,文件告知改用MongoClient吧。
  • MongoClient 繼承自  Mongo。

參考:

spring bean scope annotation


@Configuration
@Scope(BeanDefinition.SCOPE_SINGLETON)
public class MongoConnection {
    .
    .
    .
}


SCOPE
  • BeanDefinition.SCOPE_SINGLETON     or  "singleton "
  • BeanDefinition.SCOPE_PROTOTYPE    or   "prototype "
  • "request"
  • "session" 
  • "globalSession "

Reference 

2014年7月16日 星期三

bootstrap 3.2 修改 Media queries breakpoints

1. 打開  /bootstrap/less/variables.less

2. Ctrl + F  , 輸入  screen

3 . 修改

  • @screen-xs  :   320px;
  • @screen-sm :   768px;
  • @screen-md :   1024px;
  • @screen-lg    :   1200px;
4. 存檔

5.  開啟 nodejs 命令介面

6  輸入:  grunt dist         (做編譯)

bootstrap source 使用 與 編譯

bootstrap 下載 source檔,較方便修改,在更改 less檔後,可經由grunt編譯產生結果。

1.需要先安裝 nodejs


2. 下載 bootstrap source版本

  • bootstrap有提供壓縮好的版本,與原始碼版。
  • 壓縮版可以直接使用,修改是直接改動css.
  • source版,可以藉由改動less在使用grunt編譯至dist夾產生壓縮結果。
  • 直接改css對沒學過less的人比較直覺,但改動地方多容易不同步。
  • source可改less,因為有變數等功能關係,改動較少就能達到效果。

3. 安裝 grunt
  • 開啟 nodejs 命令介面。  (open  nodejs command line)
  • 輸入:  npm install -g grunt-cli   //將會安裝grunt 於全域環境
4. 安裝 bootstrap 所需模組
  • 進入boostrap根目錄下。     \bootstrap\
  • 輸入:  npm install   ,npm 將會依照  package.json設定來安裝模組套件於區域環境。

5. 編譯 less並將css與javascript壓縮
  • 在bootstrap根目錄下輸入:  grunt dist 

Note:
  • nodejs 在找尋模組會先從專案夾中的區域模組夾中找尋,找不到才會去全域模組資料夾找模組。



Spring Class中,使用 properties

1.  spring config  xml

&lt!-- 提供 properties檔之內容注入 bean 屬性 使用  @(Value ${屬性名稱}) 注入 -->
<context:property-placeholder location="classpath*:META-INF/mongodb.properties"/>


2. mongodb.properties
 
       #db name
      mongo.dbName=englishStore


3. 
@Value("${mongo.dbName}")
private String dbName;

Spring JSP 中使用 properties 檔屬性

1.  xml 需要
  • xmlns:util="http://www.springframework.org/schema/util"
  • xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/util/spring-util-3.0.xsd"


2. spring   xml

<util:properties id="commonProperties
location="/WEB-INF/nodejs.properties"/>

3. nodejs.properties

    nodejsHost=http://localhost:3000

4. jsp

<spring:eval var="host" expression="@commonProperties.nodejsHost"/>






2014年7月14日 星期一

maven學習 十二 : SpringMVC + Tiles + log4j

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>tw.ocean.englishProject</groupId>
  <artifactId>englishProject</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
 
    <!-- 依賴,就是程式中會用到的jar -->
  <dependencies>  
<!-- Spring Core Bean AOP Expression Context-->
<dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.2.9.RELEASE</version>
    </dependency>
   <!-- Spring MVC -->
    <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.2.9.RELEASE</version>
 </dependency>

 <!-- log工具  spring 需要log4j + slf4j-->
 <dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
 </dependency>
 <dependency>                          
       <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <version>1.7.7</version>
 </dependency>
 <dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.1.2</version>
 </dependency>
 <!-- 樣板框架 -->
 <dependency>
       <groupId>org.apache.tiles</groupId>
      <artifactId>tiles-extras</artifactId>
      <version>2.2.2</version>
    </dependency>    
    <dependency>
       <groupId>org.apache.tiles</groupId>
      <artifactId>tiles-servlet</artifactId>
      <version>2.2.2</version>
 </dependency>
 <dependency>
   <groupId>org.apache.tiles</groupId>
     <artifactId>tiles-jsp</artifactId>
     <version>2.2.2</version>
 </dependency>
 <!--  -->
 <dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
 </dependency>

</dependencies>
</project>


maven學習 十一 : Maven Srping MVC


Maven 配置:
pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>tw.ocean.englishProject</groupId>
  <artifactId>englishProject</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
 
    <!-- 依賴,就是程式中會用到的jar -->
  <dependencies>  
<!-- Spring Core Bean AOP Expression Context-->
<dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.2.9.RELEASE</version>
    </dependency>
   <!-- Spring MVC -->
        <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.2.9.RELEASE</version>
</dependency>

<!-- log工具  spring 需要log4j + slf4j-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>                          
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>1.7.7</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
  </dependencies>
</project>


web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
  <display-name>englishProject</display-name>
<!-- Spring MVC -->
<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
    <init-param>    
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/spring-context.xml</param-value>
    </init-param>  
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>  
    <url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>


spring-context.xml


xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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.xsd">





spring-webmvc.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:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">


<!-- 掃描pojo查看註解來執行自動注入 -->
<context:component-scan base-package="front.*" ></context:component-scan>
<!--Request 請求URL映射-->
<mvc:annotation-driven></mvc:annotation-driven>

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/view/"/>
    <property name="suffix" value=".jsp"/>
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
</bean>
</beans>


ReadController  

package front.controller;

import java.util.Map;

import javassist.bytecode.stackmap.TypeData.ClassName;

import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class ReadController  {
private static final long serialVersionUID = 1L;

private static Logger logger = Logger.getLogger(ClassName.class);
     

    public ReadController() {    
        super();
        logger.info("YYYYYYYYYYYYYYYYYYY");
    }

    @RequestMapping({"/" , "/home"})
    public String test(Map<String, Object> model){
     logger.info("HOME HOME HOME HOME HOME");
    return "home";
    }


}



2014年7月12日 星期六

maven學習 十 : log4j for spring

重點  :

  • Spring log機制需要  log4j  與  slf4j
  • 將  log4j.properties 設定檔,放於 WEB-INF 或是 classpath  MATA-INF,就能運作。
  • Spring 能由 org.springframework.web.util.Log4jConfigListener 設定時間掃描設定檔內容,
    做Run time時的設定變更。


pom.xml  

 <dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>                           
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>1.7.7</version> 
</dependency>
<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-classic</artifactId>
  <version>1.1.2</version>
</dependency>



 log4j.properties 

#log4j設定檔,此檔只要放到WEB-INF或META-INF中,spring中即可運作
# Root logger option
log4j.rootLogger=INFO,BreadCrumbs
# Console輸出 與 輸出格式
log4j.appender.BreadCrumbs=org.apache.log4j.ConsoleAppender
log4j.appender.BreadCrumbs.Target=System.out
log4j.appender.BreadCrumbs.layout=org.apache.log4j.PatternLayout
log4j.appender.BreadCrumbs.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n


如此在Spring就能運作。


延生功能 :

如果想要做執行期變更設定,可以再web.xml加入:

web.xml

<!-- Log4j -->
<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
<!-- 半小時會掃描一次 log4j.properties檔,做熱部署-->
<context-param> 
   <param-name>log4jRefreshInterval</param-name> 
   <param-value>1800000</param-value> 
</context-param> 
<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

2014年7月11日 星期五

maven學習 九 : 利用MVNRepository網站,加入mongoDB

Step 1. 連結到  MVN Repository 官網

Step 2. 搜尋欄位中填入  mongodb






Step3 .  點擊  MongoDB Java Driver 項目

MongoDB Java Driver 
The MongoDB Java driver
org.mongodb » mongo-java-driver


Step4.  點擊你想要的版本







 NOTE:



Step 5.  複製 dependency 內容至 專案的 pom.xml 















 pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.tw.ocean</groupId>
  <artifactId>ProjectD</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>

  <!-- 依賴,就是程式中會用到的jar -->
  <dependencies>  
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.12.2</version>
</dependency>
  </dependencies>

</project>


Step 6 .  執行 mvn install

  • 方法一: 在命令列中  mvn  install
  • 方法二: 在eclipse 中,對專案項目,
                      滑鼠右鍵  >  Run AS  >    Maven Install
如此就會將 mongoDB Driver 下載至本機的Repository資料夾中,
並且會自動引入專案關連。



















參考資料:



關於 mongoDB 版本號 (MongoDB Version Nmber)

mongoDB 版本號
example  : 2.4.1

2.4 : 代表版本別
     
4   : 這個位數,偶數代表 「穩定版本」,奇數代表 「開發中,版本」


1   : 這個位數,表示修正版號,0為起始號。


example :


  • 2.0.0 穩定版
  • 2.0.1 修正版
  • 2.1.0 開發中版本,用於測試,不穩定。
  • 2.2.0 穩定版本,是2.1.x 系列的最後之作。

參考說明:


maven學習 八 : 使用 Eclipse Maven Plugin 建立Web Project


Step1.  

  • File > New >  Maven Project
Step2 .
  • Check:
                   1.  Create a simple project (skip archetype selection)

                       2. Next

Step3. 
  • Group Id :   tw.com.ocean      //輸入你想要的   "名稱空間"Artifact Id:  MyWebProject    //輸入你想要的   "專案名稱"Packaging:  war          


  • Finish

2014年7月10日 星期四

maven學習 七 : Eclipse install maven plugin

OS : windows7


1.  打開Eclipse Marketplace
  •  Help > Eclipse Marketplace


2.  搜尋 maven 
  • 在marketplace面板中,點擊Search頁籤,在 Find 欄位中,輸入 maven。


找到 Maven Integration for Eclipse 找到支援你自己Eclipse版本的項目,按下install。

3. 安裝完成,重新啟動Eclipse 。

4. 設定maven plugin
  • Windows > Preferences ...
  • Maven > Installations  > add   >
    a.  選擇你下載完存放maven的所在資料夾。
    b.  Global settings from installation directory 選擇你的settings.xml設定檔。
    注意,這是全部環境統一設定。

  • Maven > User Settings >
    a. User Settings (open file):
      ,這裡選擇你個人的settings.xml

    b. Local Repository (From merged user and global settings): ,
        這裡選擇你在setting.xml中所設定的Repository路徑。


            Note:
                     ●  需先安裝maven才能開始第四步,請參考安裝maven
                     ●  設定settings.xml,請參考此篇








參考資料:
Note:
  • 如果想要使用 Install New SoftWare,就到 maven plugin官網下載。

maven學習 六 : maven 執行 java專案

OS     : windows7
maven :3
language: java   



1. 先建立一個測試用 Java SE 專案

  • mvn archetype:generate
    -DarchetypeArtifactId=maven-archetype-quickstart
    -DinteractiveMode=false
    -DgroupId=tw.com.ocean
    -DartifactId=helloworld   


2. 編譯     
  • mvn compile
   NOTE:需要進入pom.xml所在路徑下達 mvn指令。

3. 執行 
  • mvn exec:java -Dexec.mainClass=tw.com.ocean.App



如果main需要傳入參數:
  • mvn exec:java
    -Dexec.mainClass=tw.com.ocean.App
    -Dexec.args=arg0 arg1 arg2

參考資料:





maven學習 五 : 新增 dependency (替專案加入library關連)

OS        :windows7
maven   : 3
language: java  

說明:

  •  maven 在 pom.xml 中可以用來宣告程式中要用到的 Library,
    然後在該 pom.xml 所在的資料路徑中下達命令 「
    mvn install
    maven就會將pom.xml中所宣告的dependency相關連jar下載至
    本機的Repository,當編譯時maven會依pom.xml設定去找出jar連結進來。



Step1. 建立基礎 maven java se 專案   (create maven java se project)
  • mvn archetype:generate //command -DarchetypeArtifactId=maven-archetype-quickstart //這是maven java SE模板 -DinteractiveMode=false -DgroupId=tw.com.ocean //組織名稱(會成為name space) -DartifactId=helloworld //專案名稱
Step2. 打開 pom.xml (open pom.xml)

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>tw.com.ocean</groupId>
  <artifactId>helloworld</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>helloworld</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

Step3. 加入一個log4j的dependency (add log4j dependency)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>tw.com.ocean</groupId> <artifactId>helloworld</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>helloworld</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.14</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>

Step 4. 執行 mvn install 指令 (excute mvn install)
  • 在pom.xml所在的路徑中,執行 mvn install。

如此就完成加入一個library依賴關係,而且maven會自動處理掉log4j有依賴的其他Library,非常方便。

maven學習 四: 建立maven dynamic web 與 maven dynamic web 轉成 eclipse dynamic web

OS : windows7
manav : 3

建立maven dynamic web:
  • mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp     -DinteractiveMode=false -DgroupId=tw.com.ocean -DartifactId=dynamicWeb
如此會建立一個maven格式的動態網頁專案結構。


maven dynamic web 轉換成  eclipse dynamic web projdet

  • 開啟dos命令模式。
  • 進到想轉換的maven dynamic有pom.xml存在的那一層。
  • mvn eclipse:eclipse
    或是
    mvn 
    eclipse:eclipse -Dwtpversion= <版本號>



轉成Eclipse可用的maven專案後,可在Eclipse中用  :
    File >  import  >  Maven > Existing Maven Project  ,來導入專案於Eclipse中操作。


mavean系列:

2014年7月9日 星期三

maven學習 三:maven 建立專案結構

OS : windows7
manav : 3

maven 產生專案結構有兩個命令

  • 舊指令   mvn archetype:create
  • 新指令  mvn archetype:generate
參考文件:

Example (範例):

使用    mvn archetype:create
  1. 打開命令提示字元   (windows的 command  prompt)
  2. 切換你要生成專案的資料夾裡。
    Note:  想切換到D槽的話,輸入 d: 按下enter。
  3. 輸入 mvn archetype:create -DgroupId=com.ocean -DartifactId=englishCount
    Note: ● 如此就會建立好一個java專案結構,並產生pom.xml檔。 ● mavan如果有使用到的套件或是相關的jar檔, mavan都會下載存放到settings.xml檔中 <localRepository>D:\\tools\\maven-repo</localRepository> 所設定的路徑中。

   注意: ● 如果使用的是windows power shell ,參數與數值要用雙引號,
mvn archetype:create "-DgroupId=com.ocean" "-DartifactId=englishCount"
產生結構:
englishCount
|-- pom.xml
`-- src
    |-- main
    |   `-- java
    |       `-- com
    |           `-- ocean
    |               `-- App.java
    |                   
    `-- test
        `-- java
            `-- com
                `-- ocean
                    `-- AppTest.java
                        
     

使用 mvn archetype:generate
  • mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -DgroupId=tw.com.ocean -DartifactId=helloworld
mvn archetype:generate 則具有多種專案樣板可套用

-DarchetypeArtifactId 選擇樣板 (專案類型,例如java、java web)



NOTE: 在maven官方文件上,建議不要再使用create,因改用generate替代。


mavean系列:
參考資料:


maven學習 二:maven repository

About Repository
  • Repository是Mavean存放套件的地方,若是機器上沒有套件,
    maven會自動下載下來,存放於本機空間中。
  • 預設路徑是,${user.home}/.m2/repository。
  • 設定檔在,apache-maven-3.2.2\conf\settings.xml

更改repository路徑:
  • 打開settings.xml
  • 找到
      <!-- localRepository
      | The path to the local repository maven will use to store artifacts.
      |
      | Default: ${user.home}/.m2/repository
      <localRepository>/path/to/local/repo</localRepository>
     -->
  • 在註解下載加入
      <localRepository>D:\\tools\\maven-repo</localRepository>




參考文件:
  • maven settings.xml檔設說明文件

maven學習 一:maven 安裝

OS : windows7
maven : 3.2.2

Note:
  • 在使用maven前,需要先安裝好JDK。 
  • 官方說明maven需要 JDK 1.6以上版本。
文件:
  • maven官方pom.xml 使用參數說明文件

1.  至apache官網下載 maven  (Download maven)
  • Windows 用 zip 檔,Linux 用 tar.gz
  • source 是未bulider的,此版需要用 Ant bulider成jar來使用。
  • binary  是已經bulider好的,有jar檔可以直接使用。
  • source懂ant的人可以對自己系統環境做優化處理。
     Note:此篇將下載binary使用。

2.  解開壓縮檔,至於你想放置的文地方   (Unzip)
  • 例如:D:\tools\apache-maven-3.2.2
  • 將資料夾名稱改為 maven
3. 設定環境變數  (set  environment variable)
  • M2_HOME = D:\tools\maven
  • 在PATH最後加入 %M2_HOME%\bin
   PATH = [原本的字串];%M2_HOME%\bin

   Note:如果你想在command line模式下加入可使用
   set M2_HOME=D:\tools\maven
   set PATH=%PATH%;%M2_HOME%\bin
   這種方式在command環境關閉後就無效

4.測試maven  (test maven)
  • 打開command line (命令提示字元)
  • 輸入  mav --version 或是  mav -v
    有回應版本號就是環境變數設定成功。


2014年7月8日 星期二

mongoDB使用config檔,與捷徑參數

作業系統:windows7
mongodb:2.6.3


1.   請先至mongoDB官網下載windows 64版。  下載頁 。

2.  下載完後執行安裝 。     
  • 如果下載是msi就執行安裝,預設會安裝在
    C:\Program Files\MongoDB 2.6 Standard\bin
  • 如果下載是zip解開就可以。
3.  建立  .conf  檔在你想要的路徑下
  • 例如:C:\Users\hua\mongodb

2014年7月7日 星期一

Bitbucket and TortoiseGit 使用方式

Bitbucket提供線上版本控管Server,具有私有不公開的Git。

1. 至 Bitbucket 申請使用帳號。

2. 按下導覽列中的Create > Create Repository 來建立一個版本控管空間。




  • Name                       版本控管空間名稱
  • Description               描述
  • Access level             存取級別
  • Forking                    允許追蹤的選項
  • Repository type        版控Server,選Git。
  • Project management
            issue tracking   如bug追蹤之類的
            Wike               知識庫 
  • Langage                   開發的語言
 填好後按下  Create repository

2014年7月1日 星期二

IE 條件註解 (IE Conditional comment)

人客呀!看到這種註解,別亂砍,會害網頁走山阿!

IE Conditional Comment  只對IE瀏覽器有效,其他瀏覽器會當成註解。

Example:

<!--[if IE]>
    只要是IE,該區塊會運作。
<![endif]-->

<!--[if IE 7]>
  如果是IE7,該區塊會運作。
<![endif]-->