
2013年9月26日
Linux中JDK1.6的安裝和配置方法
一、安裝
創(chuàng)建安裝目錄,在/usr/java下建立安裝路徑,并將文件考到該路徑下:
# mkdir /usr/java
1、jdk-6u11-linux-i586.bin 這個(gè)是自解壓的文件,在linux上安裝如下:
# chmod 755 jdk-6u11-linux-i586.bin
# ./jdk-6u11-linux-i586.bin (注意,這個(gè)步驟一定要在jdk-6u11-linux-i586.bin所在目錄下)
在按提示輸入yes后,jdk被解壓。
出現(xiàn)一行字:Do you aggree to the above license terms? [yes or no]
安裝程序在問(wèn)您是否愿意遵守剛才看過(guò)的許可協(xié)議。當(dāng)然要同意了,輸入"y" 或 "yes" 回車。
2、若是用jdk-6u11-linux-i586-rpm.bin 這個(gè)也是一個(gè)自解壓文件,不過(guò)解壓后的文件是jdk-6u11-linux-i586-rpm 包,執(zhí)行rpm命令裝到linux上就可以了。安裝如下:
#chmod 755 ./jdk-6u11-linux-i586-rpm
# ./jdk-6u11-linux-i586-rpm .bin
# rpm -ivh jdk-6u11-linux-i586-rpm
出現(xiàn)一行字:Do you aggree to the above license terms? [yes or no]
安裝程序在問(wèn)您是否愿意遵守剛才看過(guò)的許可協(xié)議。當(dāng)然要同意了,輸入"y" 或 "yes" 回車。
安裝軟件會(huì)將JDK自動(dòng)安裝到 /usr/java/目錄下。
二、配置
#vi /etc/profile
在里面添加如下內(nèi)容
export JAVA_HOME=/usr/java/jdk1.6.0_27
export JAVA_BIN=/usr/java/jdk1.6.0_27/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
讓/etc/profile文件修改后立即生效 ,可以使用如下命令:
# . /etc/profile
注意: . 和 /etc/profile 有空格.
重啟測(cè)試
java -version
set 查看環(huán)境變量
pwd 顯示當(dāng)前位置
samba文件共享服務(wù)可以讓linux和linux系統(tǒng)、linux和windows系統(tǒng)之間共享文件
服務(wù)查詢
默認(rèn)情況下,Linux系統(tǒng)在默認(rèn)安裝中已經(jīng)安裝了Samba服務(wù)包的一部分,為了對(duì)整個(gè)過(guò)程有一個(gè)完整的了解,在此先將這部分卸載掉。使用命令
rpm -qa | grep samba,默認(rèn)情況下可以查詢到兩個(gè)已經(jīng)存在的包:
samba-client-xxx-xxx
samba-common-xxx.xxx
卸載Samba
用rpm -e 將兩個(gè)包卸載掉。對(duì)于samba-common-xxx.xxx,因?yàn)榕c其它rpm包之間存在依賴關(guān)系,所以必須加參數(shù)-f和--nodeps,-f是指強(qiáng)制,--nodeps是指不檢查依賴關(guān)系,具體完整命令為:
rpm -e samba-common-xxx -f --nodeps
rpm -e samba-client-xxx -f –nodeps
掛在鏡像文件
因?yàn)榘惭bsamba你需要下載對(duì)應(yīng)的安裝包,一般系統(tǒng)盤就有這些軟件,所以可以直接掛載上去
mount -o loop /home/rhel-server-6.2-x86_64-dvd.iso /media/OS
這樣就將系統(tǒng)盤掛載到指定的OS目錄了,在OS目錄下的Packages下有很多安裝包可以使用。
安裝Samba
用以下命令安裝:
rpm -ivh samba-xxx.rpm -f --nodeps
rpm -ivh samba-client-xxx.rpm -f --nodeps
rpm -ivh samba-common-xxx.rpm -f --nodeps
安裝完成后,使用命令rpm -qa | grep samba進(jìn)行查詢,發(fā)現(xiàn)搭建samba服務(wù)器所依賴的所有服務(wù)器都已經(jīng)安裝好了即可。
安裝完成后配置/etc/samba/smb.conf配置文件,你可以備份原來(lái)的配置,把下面的配置覆蓋當(dāng)前配置即可:
[global]
workgroup=takecar
netbios name=Linux-108.12
server string=Linux Samba Server TestServer
#security=share
security=user
map to guest=Bad User
[takecar]
path=/opt/takecar
writable=yes
browseable=yes
guest ok=yes
以上就是配置匿名用戶共享目錄/opt/takecar
其中writable是寫入權(quán)限、browseable是瀏覽權(quán)限、guest是貴賓用戶
建立相應(yīng)目錄并授權(quán)
[root@localhost ~]# mkdir -p /opt/linuxsir
[root@localhost ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
[root@localhost ~]# chown -R nobody:nobody /opt/linuxsir
注釋:關(guān)于授權(quán)nobody,我們先用id命令查看了nobody用戶的信息,發(fā)現(xiàn)他的用戶組也是nobody,我們要以這個(gè)為準(zhǔn)。有些系統(tǒng)nobody用戶組并非是nobody ;
啟動(dòng)smbd和nmbd服務(wù)器
[root@localhost ~]# smbd
[root@localhost ~]# nmbd
關(guān)閉和查詢服務(wù)
pkill smbd
pkill nmbd
pgrep smbd
pgrep nmbd
如果啟動(dòng)后不能訪問(wèn)可能是防火墻原因,關(guān)閉防火墻
service iptables stop
chkconfig iptables off
設(shè)置服務(wù)開機(jī)啟動(dòng) ntsysv命令可以進(jìn)入圖形界面設(shè)置,如果windows不能建立linux的共享目錄可能是window中的某個(gè)服務(wù)原因。
可以在運(yùn)行輸入 secpol.msc命令 進(jìn)入本地策略/安全選項(xiàng), 設(shè)置
直接用進(jìn)程殺死程序
ps -ef|grep smb
kill -9 pid #pid 為相應(yīng)的進(jìn)程號(hào)
#直接查看指定端口的進(jìn)程pid
netstat -anp|grep 9217
摘要: oracle job有定時(shí)執(zhí)行的功能,可以在指定的時(shí)間點(diǎn)或每天的某個(gè)時(shí)間點(diǎn)自行執(zhí)行任務(wù)。 一、查詢系統(tǒng)中的job,可以查詢視圖 --相關(guān)視圖select * from dba_jobs;select * from all_jobs;select * from user_jobs;-- 查詢字段描述/*字段(列) 類型 描述JOB ...
閱讀全文
// 方式一:
double f = 3.1516;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
// 方式二:
new java.text.DecimalFormat("#.00").format(3.1415926);
// #.00 表示兩位小數(shù) #.0000四位小數(shù) 以此類推…
// 方式三:
double d = 3.1415926;
String result = String.format("%.2f", d);
// %.2f %. 表示 小數(shù)點(diǎn)前任意位數(shù) 2 表示兩位小數(shù) 格式后的結(jié)果為f 表示浮點(diǎn)型。
//方法四:
Math.round(5.2644555 * 100) * 0.01d;
//String.format("%0" + 15 + "d", 23) 23不足15為就在前面補(bǔ)0
在使用cxf實(shí)現(xiàn)webservice時(shí),經(jīng)常碰到的問(wèn)題就是如果在服務(wù)端,修改了一個(gè)接口的簽名實(shí)現(xiàn),如增加一個(gè)字段,或者刪除一個(gè)字段。在這種情況下,在默認(rèn)的配置中,就會(huì)報(bào)以下的錯(cuò)誤信息:
org.apache.cxf.interceptor.Fault: Unmarshalling Error: unexpected element . Expected elements are
這種錯(cuò)誤即客戶端使用的傳輸對(duì)象與服務(wù)端接收的參數(shù)的字段不匹配。但如果,每次修改服務(wù)端的實(shí)現(xiàn),都需要更新客戶端時(shí),就會(huì)出現(xiàn)一些問(wèn)題,如在某些情況下,客戶端的更新是不可能的事(如不在自己掌握之內(nèi),或者服務(wù)不能隨便更新,或者其它計(jì)劃時(shí))。
如果避免這種問(wèn)題,其實(shí)也很簡(jiǎn)單,就是禁用cxf中的字段信息驗(yàn)證,如果禁用掉此驗(yàn)證,就不再會(huì)對(duì)相應(yīng)的字段信息進(jìn)行驗(yàn)證,同時(shí)沒(méi)有的字段也會(huì)自動(dòng)的忽略。整個(gè)解決只需要增加以下的一行配置即可,在cxf.xml(spring集成文件)中增加以下配置項(xiàng):
<cxf:properties>
<entry key="set-jaxb-validation-event-handler" value="false"/>
</cxf:properties>
這樣,即會(huì)禁用掉所有cxf的數(shù)據(jù)驗(yàn)證,在大多數(shù)情況下,這可以滿足我們的要求(除非你有其它和cxf集成的數(shù)據(jù)驗(yàn)證要求)。
轉(zhuǎn)載請(qǐng)標(biāo)明出處:i flym
本文地址:http://www.iflym.com/index.php/code/201307310001.html
摘要: 副標(biāo)題:利用ant腳本 自動(dòng)構(gòu)建svn增量/全量 系統(tǒng)程序升級(jí)包 首先請(qǐng)?jiān)试S我這樣說(shuō),作為開發(fā)或測(cè)試,你一定要具備這種本領(lǐng)。你可以手動(dòng)打包、部署你的工程,但這不是最好的方法。最好的方式就是全自動(dòng)化的方式。開發(fā)人員提交了代碼后,可以自動(dòng)構(gòu)建、打包、部署到測(cè)試環(huán)境。測(cè)試通過(guò)后進(jìn)入到模擬環(huán)境或是直接發(fā)布的生產(chǎn)環(huán)境,這個(gè)過(guò)程可以是全自動(dòng)的。但這個(gè)自動(dòng)化的方式有一些公司用到了,但也有很多公司還不知道,他們...
閱讀全文
posted @
2013-11-05 09:01 hoojo 閱讀(17052) |
評(píng)論 (2) |
編輯 收藏
ant 命令行方式執(zhí)行build javac編譯class出現(xiàn) 泛型無(wú)法轉(zhuǎn)換 無(wú)法確定 <X>X 的類型參數(shù);對(duì)于上限為 X,java.lang.Object 的類型變量 X,不存在唯一最大實(shí)例
解決方法:
需要用到eclipse的jdt來(lái)編譯class,不能再使用javac的默認(rèn)編譯方式。
在eclipse或MyEclipse的eclipse/plugin目錄中找到org.eclipse.jdt.core_3.5.2.v_981_R35x.jar里面找到j(luò)dtCompilerAdapter.jar
還有
org.eclipse.jdt.compiler.tool_1.0.100.v_972_R35x.jar
org.eclipse.jdt.core_3.5.2.v_981_R35x.jar
org.eclipse.jdt.debug.ui_3.4.1.v20090811_r351.jar
jdtCompilerAdapter.jar
并拷貝到ant_home/lib下。
在ant的build.xml腳本中加入
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
<javac nowarn="false" debug="true" debuglevel="source,lines,vars" destdir="${dist.path}/classes" source="1.6" target="1.6" encoding="utf-8" fork="true" memoryMaximumSize="512m" includeantruntime="false">
或者
<javac compiler="org.eclipse.jdt.core.JDTCompilerAdapter" nowarn="false" debug="true" debuglevel="source,lines,vars" destdir="${dist.path}/classes" source="1.6" target="1.6" encoding="utf-8" fork="true" memoryMaximumSize="512m" includeantruntime="false"/>
如果是用eclipse運(yùn)行ant腳本,在右鍵菜單選擇從RUN as Ant 啟動(dòng)build.xml時(shí),在對(duì)話框中 選擇Runtime jRE:run in the same JRE as workspace.
記得要引入上面需要的幾個(gè)jar包
摘要: 一、摘要 上兩篇文章分別介紹了Spring3.3 整合 Hibernate3、MyBatis3.2 配置多數(shù)據(jù)源/動(dòng)態(tài)切換數(shù)據(jù)源 方法 和 Spring3 整合Hibernate3.5 動(dòng)態(tài)切換SessionFactory (切換數(shù)據(jù)庫(kù)方言),這篇文章將介紹Spring整合Mybatis 如何完成SqlSessionFactory的動(dòng)態(tài)切換的。并且會(huì)簡(jiǎn)單的介紹下MyBatis整合Spring中的...
閱讀全文
posted @
2013-10-22 10:27 hoojo 閱讀(17005) |
評(píng)論 (3) |
編輯 收藏
摘要: 一、緣由 上一篇文章Spring3.3 整合 Hibernate3、MyBatis3.2 配置多數(shù)據(jù)源/動(dòng)態(tài)切換數(shù)據(jù)源 方法介紹到了怎么樣在Sping、MyBatis、Hibernate整合的應(yīng)用中動(dòng)態(tài)切換DataSource數(shù)據(jù)源的方法,但最終遺留下一個(gè)問(wèn)題:不能切換數(shù)據(jù)庫(kù)方言。數(shù)據(jù)庫(kù)方言可能在當(dāng)前應(yīng)用的架構(gòu)中意義不是很大,但是如果單純用MyBatis或Hibernate做數(shù)據(jù)庫(kù)持久化操作,還...
閱讀全文
摘要: 一、開篇 這里整合分別采用了Hibernate和MyBatis兩大持久層框架,Hibernate主要完成增刪改功能和一些單一的對(duì)象查詢功能,MyBatis主要負(fù)責(zé)查詢功能。所以在出來(lái)數(shù)據(jù)庫(kù)方言的時(shí)候基本上沒(méi)有什么問(wèn)題,但唯一可能出現(xiàn)問(wèn)題的就是在hibernate做添加操作生成主鍵策略的時(shí)候。因?yàn)槲覀兌贾纇ibernate的數(shù)據(jù)庫(kù)本地方言會(huì)針對(duì)不同的數(shù)據(jù)庫(kù)采用不同的主鍵生成策略。 所以針對(duì)這一問(wèn)...
閱讀全文
posted @
2013-10-12 10:53 hoojo 閱讀(12374) |
評(píng)論 (5) |
編輯 收藏
摘要: 基于HTTP的長(zhǎng)連接,是一種通過(guò)長(zhǎng)輪詢方式實(shí)現(xiàn)"服務(wù)器推"的技術(shù),它彌補(bǔ)了HTTP簡(jiǎn)單的請(qǐng)求應(yīng)答模式的不足,極大地增強(qiáng)了程序的實(shí)時(shí)性和交互性。 一、什么是長(zhǎng)連接、長(zhǎng)輪詢? 用通俗易懂的話來(lái)說(shuō),就是客戶端不停的向服務(wù)器發(fā)送請(qǐng)求以獲取最新的數(shù)據(jù)信息。這里的“不停”其實(shí)是有停止的,只是我們?nèi)搜蹮o(wú)法分辨是否停止,它只是一種快速的停下然后又立即開始連接而已。 二、長(zhǎng)連接...
閱讀全文