2014年6月25日 星期三

[Maven]struts2 自己常用的配置 pom.xml -20140626

自己常用的配置檔 pom.xml
備份到blog中



<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.test</groupId>
<artifactId>MyBatis_003</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>MyBatis_003</name>
<url>http://maven.apache.org</url>

<!-- 設定各dependency 使用的版本 -->
<properties>
<final_name>MyBatis_003</final_name>
<jdk.version>1.6</jdk.version>
<asm.version>3.3.1</asm.version>
<asm-commons.version>3.3.1</asm-commons.version>
<asm-tree.version>3.3.1</asm-tree.version>
<commons-lang3.version>3.3.2</commons-lang3.version>
<commons-fileupload.version>1.3.1</commons-fileupload.version>
<commons-logging.version>1.1.3</commons-logging.version>
<commons-io.version>2.2</commons-io.version>
<freemarker.version>2.3.9</freemarker.version>
<junit.version>4.11</junit.version>
<javassist.version>3.18.1-GA</javassist.version>
<jquery.version>1.8.2</jquery.version>
<log4j.version>1.2.17</log4j.version>
<mysql-connector-java.version>5.1.30</mysql-connector-java.version>
<mybatis.version>3.2.7</mybatis.version>
<ognl.version>3.0.8</ognl.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<struts2-core.version>2.3.16.3</struts2-core.version>
<struts2-dojo-plugin.version>2.3.16.3</struts2-dojo-plugin.version>
<struts2-json-plugin.version>2.3.16.3</struts2-json-plugin.version>
<struts2-spring-plugin.version>2.3.8</struts2-spring-plugin.version>
<struts2-junit-plugin.version>2.3.16.3</struts2-junit-plugin.version>
<!-- 頁面排版用 siteMesh -->
<struts2-sitemesh-plugin.version>2.3.16.3</struts2-sitemesh-plugin.version>
<!-- Annotation 用 -->
<struts2-convention-plugin.version>2.3.16.3</struts2-convention-plugin.version>
<!-- 頁面排版用 siteMesh -->
<sitemesh.version>2.4.2</sitemesh.version>
<slf4j-api.version>1.7.7</slf4j-api.version>
<slf4j-log4j12.version>1.7.7</slf4j-log4j12.version>
<spring-test.version>3.2.0.RELEASE</spring-test.version>
<spring-web.version>3.2.0.RELEASE</spring-web.version>
<spring-context.version>3.2.0.RELEASE</spring-context.version>
<spring-core.version>3.2.0.RELEASE</spring-core.version>
<spring-beans.version>3.2.0.RELEASE</spring-beans.version>
<xwork-core.version>2.3.16.3</xwork-core.version>
</properties>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>${struts2-core.version}</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${commons-logging.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${commons-fileupload.version}</version>
</dependency>
<dependency>
<groupId>freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>${freemarker.version}</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>${javassist.version}</version>
</dependency>
<dependency>
<groupId>ognl</groupId>
<artifactId>ognl</artifactId>
<version>${ognl.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts.xwork</groupId>
<artifactId>xwork-core</artifactId>
<version>${xwork-core.version}</version>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm-commons</artifactId>
<version>${asm-commons.version}</version>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm-tree</artifactId>
<version>${asm-tree.version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql-connector-java.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-dojo-plugin</artifactId>
<version>${struts2-dojo-plugin.version}</version>
</dependency>
<dependency>
<groupId>com.efsavage.jquery</groupId>
<artifactId>jquery-maven</artifactId>
<version>${jquery.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-json-plugin</artifactId>
<version>${struts2-json-plugin.version}</version>
</dependency>
<!--
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring-beans.version}</version>
</dependency>
-->
<!--
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring-core.version}</version>
</dependency>
-->
<!--
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring-context.version}</version>
</dependency>
-->
<!--
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring-web.version}</version>
</dependency>
-->
<!--
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring-test.version}</version>
</dependency>
-->
<!--
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>${struts2-spring-plugin.version}</version>
</dependency>
-->
<!-- junit -->
<!--
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-junit-plugin</artifactId>
<version>${struts2-junit-plugin.version}</version>
</dependency>
-->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-sitemesh-plugin</artifactId>
<version>${struts2-sitemesh-plugin.version}</version>
</dependency>
<dependency>
<groupId>opensymphony</groupId>
<artifactId>sitemesh</artifactId>
<version>${sitemesh.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-convention-plugin</artifactId>
<version>${struts2-convention-plugin.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j-api.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j-log4j12.version}</version>
</dependency>
</dependencies>
<build>
<finalName>${final_name}</finalName>
<plugins>
<!-- 強制專案編輯使用的compiler版本 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>

<!-- 可產生java source -->
<!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
-->

<!-- 可產生javadoc 文件 -->
<!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
-->

<!-- 自動下載相關javadoc 及 source -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<downloadSources>false</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
</plugins>
</build>
</project>

2014年5月25日 星期日

[JAVA]判斷網址是否可用 使用HttpURLConnection

直接看程式碼:
package com.test;

import java.net.HttpURLConnection;
import java.net.SocketTimeoutException;
import java.net.URL;

public class SampleforTestURL {

public static void main(String s[]) {
System.out.println(exists("http://www.google.com.tw"));
System.out.println(exists("http://www.yahoo.com.tw"));
System.out.println(exists("http://www.yam.com.tw"));
}

static boolean exists(String URLName) {
try {
HttpURLConnection.setFollowRedirects(true);
// note : you may also need
// HttpURLConnection.setInstanceFollowRedirects(false)
HttpURLConnection con = (HttpURLConnection) new URL(URLName)
.openConnection();
con.setConnectTimeout(5000); // set timeout to 5 seconds
con.setReadTimeout(5000); // set read timeout to 5 seconds
con.setRequestMethod("HEAD");
return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
} catch (SocketTimeoutException e) {
return false;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}

2014年5月21日 星期三

[Maven] 常用資訊

Maven2 的運行命令為: mvn ,

常用命令為:

mvn archetype:create :創建Maven 項目

mvn compile :編譯源代碼

mvn test-compile :編譯測試代碼

mvn test :運行應用程序中的單元測試

mvn site : 生成項目相關信息的網站



mvn clean :清除目標目錄中的生成結果

mvn package : 依據項目生成jar 文件

(忽略單元測試:mvn -Dtest -DfailIfNoTests=false package)

mvn install :在本地Repository 中安裝jar

(mvn install:install-file -DgeneratePom=true -DgroupId=com.shunwang.swpay -DartifactId=swpay -Dversion=0.0.1 -Dpackaging=jar -Dfile=F:/新框架/swframe.jar )

mvn eclipse:eclipse :生成Eclipse 項目文件

生成項目

建一個JAVA 項目: mvn archetype:create -DgroupId=com.demo -DartifactId=App

建一個web 項目: mvn archetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp

生成Eclipse 項目

普通Eclipse 項目執行: mvn eclipse:eclipse

Eclipse WTP 項目執行: mvn eclipse:eclipse –Dwtpversion=1.0

( wtp1.0 以上版本均可用)

在Eclipse 裡面file>import

然後選擇General>Existing Projects into Workspace(如果安裝了maven插件這個地方選擇maven project,然後下一步找到pom.xml文件)

設置maven 的路徑變量M2_REPO

Window -> Preferences -> Java -> Build Path -> Classpath Variables

New Name 命名: M2_REPO

路徑:本地的maven 類庫地址

這里為C:/Documents and Settings/{ 你的系統登錄用戶名}/.m2/repository(自定義設置的倉庫:修改.setting.xml文件C:/Java/Tools/apache-maven-2.0 .8/M2Repository 並讓ide內的setting.xml文件設置指向你得這個文件)

注意事項:
1、Maven默認的remote repository是ibiblio.org,這個地方有些人上不去,因此要更改一下 ​​。
Maven找尋配置參數的默認的順序是從maven.jar中的defaults.properties開始。打開該文件,修改:
maven.repo.remote = http://apache.linuxforum.net/dist/java-repository , http://dist.codehaus.org , http://mirrors.sunsite.dk/maven/ , http://public.planetmirror.com/pub/maven , http://www.ibiblio.org/maven

可在以下兩個網站查閱:http://mvnrepository.com/,http://repo1.maven.org/maven2/

2、Maven默認的本地文件保存在Document and Setting的user.home裡面,非常不便。
在%MAVEN_HOME%下建立一個local目錄,將本地的repostiory保存在此,以免重裝系統丟失。
maven.home.local = ${maven.home}/local
3、Maven的提示語言在中文環境中可能出現亂碼,進入maven.jar,
發現org/apache/maven/messages目錄下的messages_zh_CN.properties裡面直接寫了中文字符。刪掉它!就不會亂碼了。
(或者用native2ascii轉換)

4、Maven中最大的麻煩之處就是不能從Maven存儲庫中獲取Sun的jar文件。這個問題歸因於Sun在其代碼中設置的許可證限制。解決這個問題的辦法有兩種,一種是下載這些代碼並將它們安裝在您本地的存儲庫中,另一種是做一個外部聲明,並將這個聲明指向文件系統中依賴項所在的位置。希望Sun能夠儘早地創建自己的存儲庫,儘管如此,Maven也會被升級來使之能夠下載這些資源,只是在下載之前它會提示用戶接受許可證協議。

5、另外一個麻煩的地方就是有時候使用的最新的庫文件可能在遠程存儲庫中不存在。另一種可能是由於無法訪問Internet,需要所有的依賴項都能在本地獲取。這些問題的最好解決方案就是將jar文件安裝到本地的存儲庫中。將本地的存儲庫放在一台web服務器上也同樣是個便利之舉,這樣整個開發團隊就能從此獲益,每個人都沒有必要去管理自己的存儲庫了。改變Maven的存儲庫路徑只需簡單地編輯其安裝目錄下conf文件夾下面的settings.xml文件即可。

IDE下的問題

1. 當M2eclipse 插件裝上之後,會報這個錯

Eclipse is running in a JRE, but a JDK is required

Some Maven plugins may not work when importing projects or updating source folders.

解決辦法:查看eclipse/readme/readme_eclipse.html 裡面有詳細說明,在Selecting a workspace 這一節

創建一個快捷方式,設定目標位置為D:/eclipse_jee/eclipse.exe -vm D:/Java/jdk1.5.0_10/bin/javaw

因為默認vm 為jdk/jre/bin/javaw ,直接改到jdk 下,錯誤即可消除

2.在使用命令mvn eclipse:eclipse之後,import到Eclipse,然後在Eclipse項目上點右鍵,選擇插件Maven>Enable Dependency Management後,會報重複引用依賴的錯誤
解決辦法:再執行mvn eclipse:eclipse然後刷新Eclipse的項目,取消掉maven插件的引用依賴,錯誤就會消除

3. Failure executing javac, but could not parse the error:
編譯器(1.5.0_10)中出現異常。如果在Bug Parade中沒有找到該錯誤,請在Java Developer Connection (http://java.sun.com/webapps/bugreport )對該錯誤進行歸檔。請在報告中附上您的程序和以下診斷信息。謝謝您的合作。
java.nio.BufferOverflowException
解決辦法:(臨時)在控制面板中將區域與語言選項中,把當地語言設為英語

[自動下載dependency 對應的 javadoc or source]
From the Maven Eclipse Plugin FAQ

mvn eclipse:eclipse -DdownloadSources=true  -DdownloadJavadocs=true
or in your pom.xml: ==> View

2014年5月16日 星期五

各廠牌手機工程模式 [Android]

各廠牌手機工程模式:

步驟.1
進入手機撥號介面

步驟.2
輸入以下號碼. (不需要按撥出,按完最後一個碼之後就會進入工程模式了)

HTC => *#*#4636#*#*
Sony => *#*#7378423#*#*
三星 => *#0*#
小米機 => *#*#6484#*#*
華為非 MTK 機種 => *#*#2846579#*#*
華碩 =>    *#*#4636#*#*
小米 => *#*#6484#*#*
Infocus => *#*#3646633#*#*
LG => 3845#*802#
Acer => *#*#3646633#*#*
NEXUS => *#*#4636#*#*
OPPO => *#*#4636#*#*

一般MTK系列的手機 => *#*#3646633#*#*

提醒 : 進入工程模式後是全英文介面
可以測試螢幕/LED/喇叭/麥克風/相機/WIFI....等等

以上並不保證該廠牌所有型號機種可用,如果不行使用
只好請大家使用谷歌大神囉

2014年5月12日 星期一

雙網卡設定不同出路 外網及內網

以Win8 為例
進入網路及共用中心 --> 變更介面卡設定
選取一張網卡的內容設定


點選TCP/IP設定 -> 進階
可自訂該網卡的閘道值(一般外網是 192.168.1.1)
表示該網卡的通訊要從這裡出去,另一張則設定內網的閘道設定
或者是取消選項中的自動劑量設定,填入隨意設定,兩張之間的大小影響誰內誰外




2014年5月6日 星期二

notepad ++ 常用快捷鍵

只列常用的出來
Alt-F4 關閉程式
Ctrl-W 關閉檔案
Ctrl-O 開啟檔案
Ctrl-Tab 切換分頁
Ctrl-H    打開Find / Replace 對話框
Ctrl-D    複製當前行
Ctrl-L    刪除當前行
Ctrl-T    上下行交換
F3    找下一個
Shift-F3    找上一個
Ctrl-Shift-F    在文件中找
Ctrl-F2    觸發書籤
F2    到前一個書籤
Shift-F2    到下一個書籤
F5    打開run對話框
Ctrl-Space    打開CallTip列錶框
Tab (selection of several lines)    加入Space
Shift-Tab (selection of several lines)    移除Space
F11    全屏
Alt-0    折疊全部
Alt-Shift-0    展開全部
Ctrl-U    變為小寫
Ctrl-Shift-U    變為大寫
Ctrl-Q    塊註釋/消除註釋

2014年5月5日 星期一

運用jQuery搜尋Table中特定條件select option 的資料

直接看程式碼

function test2(){
$("tr").each(function(i){
//取得符合條件checkbox的value
//var checkboxValue = $(this).find("input[type='checkbox']").attr('checked');
var checkboxValue = $(this).find("td input[type='checkbox']").attr('checked');

if(checkboxValue==true)
//取得在該tr中符合條件的value
var tmp = $(this).find("select option:selected").attr('value');
//console.log(checkboxValue);
if(tmp!=null){
console.log(tmp);
}
});
}

大意是找出整份文件中 tr 中符合 ("input[type='checkbox']").attr('checked')
條件的 row,找到該row 後,再依照 ("select option:selected"),取得想要的值
Related Posts Plugin for WordPress, Blogger...